本研究は,ソフトウェアの継続的な品質維持を目的として,ソフトウェアプロジェクトの変更に追従するよう,コーディング規約を最適化および抽出する手法を提案する. ソフトウェア開発において,ソースコードの理解に要する時間を削減する取り組みの一つにコーディング規約の利用がある.組織がコーディング規約を採用することで,ソースコードの可読性を向上させるだけでなく,将来的にバグを発生させやすい記述を予防する効果がある.一方で,言語仕様の頻繁な変更やソフトウェアプロジェクトの多様性拡大により,自身が扱うプロジェクトに適合したコーディング規約を選定することは困難である.またコードレビューへの分析により,開発者は規約での自動検出が困難な修正作業を繰り返し行っていることを確認している. 本研究では,コーディング規約の誤用と規約不足を解決するために,コーディング規約の改訂を支援する以下の手法を提案する. (1) 既存コーディング規約の最適化手法:開発者が実際に遵守しているコーディング規約に基づき,静的解析ツールで検証するコーディング規約を自動設定する手法を提案する.実験の結果,提案手法を用いることで,開発者が手動で設定した場合よりも静的解析ツールによる誤検出を削減できることを確認した. (2) 新規コーディング規約の抽出手法:開発者が行ったソフトウェア変更を規約として抽出する手法を提案する.実験の結果,提案手法を用いて自動生成した修正パッチのうち,80% (8/10) がソフトウェアプロジェクトに採用されたことを確認した. 以上,ソフトウェア開発において,ソースコードの一貫性を保持するための手法を提案し,実験的な評価を行った.本研究で得られた成果はソフトウェア開発において,開発者の方針を定型化し,ソフトウェア製品の品質向上に貢献すると考えられる.
|