効率的な開発履歴理解のためのGitに対するソースコード検索機能の統合
書誌事項
- タイトル別名
-
- Integrating Source Code Search into Git Client for Effective Understanding of Code Change History
この論文をさがす
説明
効率的なソフトウェア開発の管理を実現するためには,版管理システムを用いた開発履歴の理解が必須である.しかし,一般的な版管理システムにおける履歴操作はgrepやdiffなどのテキストベースな操作に制限されている.そのため,ソースコードの構文情報や意味に基づいた履歴操作は容易ではない.一方,ソースコード検索に関する様々な研究が行われてきたが,これらの方法では開発履歴を追うことができない.本研究では,版管理システムとして広く用いられているGitを対象に,リポジトリの履歴操作系コマンドに対してソースコード検索技術を統合することを提案する.この統合により使用者の関心外の情報を削除することが可能となり,効率的な情報の絞り込みが可能となる.提案手法の実現のために,GitのJava実装JGitを拡張したMJgitを設計し実装した.MJgitではgit-showやgit-diff,git-logといった過去のリビジョンの情報を取得するコマンドに対し,メソッド名や変数名の指定といった検索クエリを使用できる.評価実験として,実際のリポジトリを用いた性能評価実験,および被験者16名を用いた有用性の確認実験を行う.
In order to achieve effective development management, it is important to manipulate and understand the change histories of source code in a repository. Although general version control systems provide change history manipulations, these systems are restricted to line-based and textual operations such as grep and diff. As such, these systems cannot follow the syntax/semantics of the source code. While various studies have examined querying and searching source code, these methods cannot follow historical changes. The key concept of this paper is the integration of a source code search technique into Git commands that manipulate historical data in a repository. With this integration, it becomes possible to mask information that is not interested by the developers, and it is possible to narrow down efficient information. This paper presents MJgit, a prototype tool for achieving the above goal. In MJgit, developers can use search queries such as specifying method names and variable names for time direction operations such as git-show, git-diff, and git-log. As an evaluation, we conducted a performance experiment using actual software repositories. Also, we confirmed effectiveness and efficiency of our tool by user study where 16 subjects participated.
収録刊行物
-
- 情報処理学会論文誌
-
情報処理学会論文誌 60 (4), 1075-1087, 2019-04-15
- Tweet
詳細情報 詳細情報について
-
- CRID
- 1050001338292200448
-
- NII論文ID
- 170000150283
-
- NII書誌ID
- AN00116647
-
- ISSN
- 18827764
-
- 本文言語コード
- ja
-
- 資料種別
- journal article
-
- データソース種別
-
- IRDB
- CiNii Articles
- KAKEN