Forum
細粒度履歴追跡のための増分的なリポジトリ変換ツールの設計と実装
Design and Implementation of a Repository Transformation Tool for Finer-Grained History Tracking
In 日本ソフトウェア科学会第38回大会講演論文集 (JSSST 2021), no. 37-L, pp. 1–10, September 2021.
Abstract
背景: ソースコードに記述されたプログラム要素の履歴追跡は重要である.リポジトリ変換に基づく履歴追跡手法Historageは,開発者が慣れ親しんだ履歴管理インタフェースにより細粒度の履歴追跡を行える.問題: 既存のリポジトリ変換ツールは,変換時にオブジェクトデータベースからのファイルの展開と格納を繰り返すコストが大きい,増分的な変換を行わないため変換元リポジトリの更新を伴う開発での利用に適さない,という点で変換時間に課題がある.手法: 本論文では,変換時間の削減を実現したリポジトリ変換ツールの設計と実装について述べる.提案ツールでは,オブジェクト変換の対応関係の記録に基づくリポジトリ変換ライブラリgit-steinを利用することにより,不要な展開と格納を抑制する.また,更新前の変換時に記録した対応関係を更新後に持ち越し,それを用いて不要な変換を抑制することにより増分的な変換を可能とする.評価: 既存の変換ツールと実行時間の比較を行った.また,持ち越す対応関係の種類を比較し,その得失を議論した.
Abstract (English)
Background: It is important to track the history of program elements in source code. Historage, a history tracking approach based on repository transformation, enables developers to use a familiar interface to track a finer-grained history. Problem: Existing repository transformation tools have performance issues: (1) their transformation steps include the expansion and archiving of snapshots from the object database, and (2) they cannot transform repositories incrementally, which are unsuitable when using them for supporting software development activities. Method: In this paper, we describe the design and implementation of a transformation tool that reduces the transformation time. We use git-stein, a repository transformation library based on the recording of mapping between objects, to suppress unnecessary expansion and archiving of files. In addition, we save the mapping and use it later to support incremental transformation. Evaluation: We compared the transformation time of our tool with existing one. Furthermore, we compared performance when using different kinds of mappings to be stored.
Related papers
This work builds on
Continued in
BibTeX
@inproceedings{shiba-ncjssst2021,
author = {柴 駿太 and 林 晋平},
title = {細粒度履歴追跡のための増分的なリポジトリ変換ツールの設計と実装},
booktitle = {日本ソフトウェア科学会第38回大会講演論文集},
pages = {1--10},
year = 2021,
}
- Type
- Forum
- Conference
- JSSST 2021
- Presented
- September 3, 2021
- Volume / Pages
- no. 37-L, pp. 1–10