Core Concepts
コードの変更は、ソフトウェア品質メトリクスに一定の影響を及ぼす。特定の変更パターンを特定し、それらの影響を理解することで、ソフトウェアの保守性を高めることができる。
Abstract
本研究は、コードの変更がソフトウェア品質メトリクスに及ぼす影響を包括的に分析することを目的としている。
まず、人気のGitHubリポジトリから膨大なコミット履歴データを収集し、個別の変更点を抽出した。次に、静的コード分析ツールを用いて、変更前後のソフトウェア品質メトリクスを算出した。さらに、AIモデルを活用してコード変更の要約を自動生成し、変更の本質を理解しやすくした。
最後に、クラスタリング分析を行い、類似した影響を及ぼす変更パターンを特定した。その結果、以下のような知見が得られた:
複雑性メトリクス(HCPL、HDIF、HEFF、HPL、HPV、HTRP、HVOL)の大幅な改善は、リファクタリングによるコード最適化を示唆している。
メンテナビリティインデックス(MI)の向上は、コードの保守性向上につながる。
LOCやLLOCの減少は、冗長性の排除や機能の最適化を意味する。
一方で、ネスティングレベル(NL、NLE)の上昇や、McCabeの循環的複雑度(McCC)の増加は、コードの複雑化を示している。これらの変更には注意が必要である。
ドキュメンテーション関連メトリクス(CD、CLOC、DLOC)の低下は、可読性の低下につながる可能性がある。
このように、本研究は、コードの変更がソフトウェア品質に及ぼす多様な影響を明らかにした。これらの知見は、ソフトウェア保守戦略の改善や、より正確な品質予測モデルの開発に役立つと考えられる。
Stats
コードの変更によりHCPLが32.0%減少した。
コードの変更によりHEFFが25.9%増加した。
コードの変更によりMcCCが16.6%増加した。
コードの変更によりNLが33.3%増加した。
Quotes
"コードの変更は、ソフトウェア品質メトリクスに一定の影響を及ぼす。"
"特定の変更パターンを特定し、それらの影響を理解することで、ソフトウェアの保守性を高めることができる。"