2020 Fiscal Year Annual Research Report
A study on autonomous maintainability technique toward ultra long-term software
Project/Area Number |
18KT0013
|
Research Institution | Wakayama University |
Principal Investigator |
伊原 彰紀 和歌山大学, システム工学部, 講師 (40638392)
|
Co-Investigator(Kenkyū-buntansha) |
石尾 隆 奈良先端科学技術大学院大学, 先端科学技術研究科, 准教授 (60452413)
|
Project Period (FY) |
2018-07-18 – 2021-03-31
|
Keywords | ソフトウェア工学 / ソーシャルコーディング / プログラム解析 / ソフトウェア検証 / リファクタリング |
Outline of Annual Research Achievements |
オープンソースソフトウェア開発に限らず,多くのソフトウェア開発企業が導入を始めている開発形態ソーシャルコーディングは,ソースコードを公開することで誰もが容易にソフトウェア開発に貢献することを可能にする.しかし,ソーシャルコーディングでは,開発組織が多くの開発リソースを手にいれる一方で,実装方法の異なる個々の提案を検証するためのコストが増大するジレンマを引き起こしている.本研究課題では,超長寿命ソフトウェアの実現に向けて,ソーシャルコーディングにおいてソフトウェア品質を強化する開発者らの共通する実装方法を明らかにし,それらをルールとして形式化する手法を開発した.さらに,組織の習慣,技術の動向に合わせて自律的にルールを更新する手法を開発し,継続的なソフトウェア保守技術を開発した.具体的には,ソフトウェアの部品単位の理解容易性を高めるための局所的な保守性の強化技術としてコーディング規約の自動生成とその自律的な更新技術,また,設計されたソフトウェアの全体構造を維持するための大域的な保守性の強化技術としてモジュール間の依存関係の制約に反した利用を検出するルールの自動生成技術を提案し,実データに基づき評価実験を行った.その結果,守られない規約(規約の設定ミス,規約の目視確認),コーディング規約として存在しないが習慣的に守られているルールが存在していることを確認し,暗黙知となっているルールを自律的に保守強化するシステムとしてDevReplayを開発し,GitHub Appにシステムを公開した.
|