ソフトウェアの進化において,1つのソースコードから複数の派生ソースコードが作られることがある.それら派生ソースコードの中から最新のバグ修正が施されたものを選択したい場合や,開発が分岐した複数のソフトウェアから機能を集約したい場合には,ソースコードの派生関係を知ることが重要になる.本研究では,類似するファイルの差分に注目することで,ソースコード集合のパージョン履歴がない状態から,ソースファイルの派生関係を自動抽出する手法を提案する.具体的には,差分の行数をもとに最小全域木を構築することで,開発者が比較を行う際に読解する差分の量を最小化する.例としてォープンソースのソースコードに手法を適用し,結果をもとに今後の課題にっいて考察した.%In software evolution, branching of development occurs in some cases. If a developer wants to select a source file to which the latest bug fixes was performed or to collect functions out of branched software, it is important to know the derivative relationships of source files. In this paper, we focus on the differences of similar files and propose an approach for automatic extraction of the derivative relationships of source files. We construct a minimum spanning tree based on the number of lines of difference. The tree minimizes the amount of difference developers read. We performed a case study with open source software and discussed for the future work.
展开▼