研究課題/領域番号 |
20J15163
|
研究種目 |
特別研究員奨励費
|
配分区分 | 補助金 |
応募区分 | 国内 |
審査区分 |
小区分60050:ソフトウェア関連
|
研究機関 | 奈良先端科学技術大学院大学 |
研究代表者 |
上田 裕己 奈良先端科学技術大学院大学, 先端科学技術研究科, 特別研究員(DC2)
|
研究期間 (年度) |
2020-04-24 – 2022-03-31
|
研究課題ステータス |
完了 (2021年度)
|
配分額 *注記 |
1,700千円 (直接経費: 1,700千円)
2021年度: 800千円 (直接経費: 800千円)
2020年度: 900千円 (直接経費: 900千円)
|
キーワード | コーディング規約 / コードレビュー / ソースコード解析 / 静的解析ツール / ソフトウェア工学 / プログラミング作法 / プログラム解析 |
研究開始時の研究の概要 |
ソフトウェア規模の拡大に伴い,異なる経験や技術的背景を持つ多数の開発者が協力して数万行に渡るソースコードを記述しているなか,開発者は自分と記述形式の異なる他人が記述したソースコードの機能を理解するために開発作業全体で約50%の時間を費やす.本研究はソフトウェア開発の中で変化するプログラミング作法を開発組織や技術に合わせて継続的に抽出および最適化する技術を提案する.加えて,発展的・挑戦的な課題として,抽出および最適化したプログラミング作法を文章化することで,開発組織で閉じた暗黙知を他の組織や個人が再利用可能な形式にする.
|
研究実績の概要 |
本研究は,ソフトウェアの継続的な品質維持を目的として,ソフトウェアプロジェクトの変更に追従するよう,コーディング規約を最適化および抽出する手法を提案する. ソフトウェア開発において,ソースコードの理解に要する時間を削減する取り組みの一つにコーディング規約の利用がある.組織がコーディング規約を採用することで,ソースコードの可読性を向上させるだけでなく,将来的にバグを発生させやすい記述を予防する効果がある.一方で,言語仕様の頻繁な変更やソフトウェアプロジェクトの多様性拡大により,自身が扱うプロジェクトに適合したコーディング規約を選定することは困難である.またコードレビューへの分析により,開発者は規約での自動検出が困難な修正作業を繰り返し行っていることを確認している. 本研究では,コーディング規約の誤用と規約不足を解決するために,コーディング規約の改訂を支援する以下の手法を提案する. (1) 既存コーディング規約の最適化手法:開発者が実際に遵守しているコーディング規約に基づき,静的解析ツールで検証するコーディング規約を自動設定する手法を提案する.実験の結果,提案手法を用いることで,開発者が手動で設定した場合よりも静的解析ツールによる誤検出を削減できることを確認した. (2) 新規コーディング規約の抽出手法:開発者が行ったソフトウェア変更を規約として抽出する手法を提案する.実験の結果,提案手法を用いて自動生成した修正パッチのうち,80% (8/10) がソフトウェアプロジェクトに採用されたことを確認した. 以上,ソフトウェア開発において,ソースコードの一貫性を保持するための手法を提案し,実験的な評価を行った.本研究で得られた成果はソフトウェア開発において,開発者の方針を定型化し,ソフトウェア製品の品質向上に貢献すると考えられる.
|
現在までの達成度 (段落) |
令和3年度が最終年度であるため、記入しない。
|
今後の研究の推進方策 |
令和3年度が最終年度であるため、記入しない。
|