2015 Fiscal Year Research-status Report
ソフトウェア進化分析に基づくソフトウェア保守支援環境
Project/Area Number |
15K15973
|
Research Institution | Nagoya University |
Principal Investigator |
渥美 紀寿 名古屋大学, 情報連携統括本部, 特任助教 (70397446)
|
Project Period (FY) |
2015-04-01 – 2018-03-31
|
Keywords | ソフトウェア工学 / ソースコード解析 / 保守支援 / 静的検査 |
Outline of Annual Research Achievements |
ソースコードの品質向上のために多くの静的検査ツールが開発されている.しかし,誤検出が多いことなどが理由で多くの開発現場ではこれらのツールが有効活用されていない. 本年度は,これらのツールが生成する警告に false-positive な警告がどの程度含まれているかを調査するとともに,ソースコードの変更に伴なう検査コスト削減方法について検討した. 4つのオープンソースソフトウェアを対象にFindBugs による警告が,バージョンの進化によってどのように変化するか,false-positive な警告がどの程度含まれているか調査を行った.その結果,ソースコード行数の増減に伴なって警告数が増減しているが,警告をなくすためのコード改変は行われていないこと,false-positive な警告はそれほど多くないことがわかった. また,静的検査における警告箇所の確認作業を効率化するために,バージョンごとに静的検査ツールが生成した警告箇所の記録と,それに対して開発者がfalse-positive および無視して良い警告を登録することを可能とし,それらの警告を再度検査実行時に表示しないツールを eclipse plugin として実装した. これらの研究により,静的検査ツールの警告情報を版間の対応関係とともに蓄積することが可能となった.
|
Current Status of Research Progress |
Current Status of Research Progress
3: Progress in research has been slightly delayed.
Reason
当初の計画では,各バージョンのソースコードの解析結果を XML で格納し,それを利用してメトリクス値,利用ライブラリ,静的検査の結果を蓄積する予定であったが,この方法では多くのソフトウェアを対象に大規模な情報を蓄積するにはパフォーマンスに問題があることがわかった.そのため,メトリクス計測,静的検査についてはそれぞれの既存ツールを利用し,情報を蓄積することとした.これらの方針転換に時間がかかり,進化情報として静的検査に関する情報しか扱うことができていない.
|
Strategy for Future Research Activity |
進化分析において,個々の情報の版間追跡が重要な役割となるが,これに関しては静的検査に関する追跡手法と同様の手法で,メトリクスや利用ライブラリに対応することが可能である.メトリクス測定については既存のツールを使用し,利用ライブラリについては簡単な解析ツールを利用し,抽出することが可能であることがわかっているため,それらを利用する.また,蓄積された情報を保守支援に活用する手法について検討する.
|
Causes of Carryover |
当初計画では,ソースコードの解析ツールとして,研究代表者の研究グループで開発した Sapid を用いることとしていたが,パフォーマンスの問題により,方針を変え,他のツールを用いることとした.これによって,研究の進捗に遅れが生じたため,実験環境の整備および成果発表を延期した.
|
Expenditure Plan for Carryover Budget |
メトリクス値,利用ライブラリ,ビルド結果等の進化情報を蓄積するための環境を整備する.各バージョンにおいて蓄積した進化情報を基に,バージョンの進化に伴なってどのような変化があるか調査する.この調査結果に基づいて,保守支援に有用な情報にどのような情報があるか分析し,保守支援手法について検討する.
|
Research Products
(3 results)