研究概要 |
本研究はソフトウェア開発において過去に発生した誤りに対する修正に関するノウハウ(問題解決経験)を再利用することを目的としている.これを実現するために(1)ソフトウェア開発経験の蓄積,(2)問題解決経験の抽出が必要となる.本年度はこれらの予備実験としてソフトウェア開発中のソースコードおよびテスト実行時の標準出力および標準エラー出力を記録するツールを統合開発環境eclipseのプラグインとして開発し,本プラグインを組み込んだeclipseを学生5人に6ヶ月間利用してもらい,Javaプログラムのコーディング時の作業を蓄積した.また,類似問題を検出するための手法について検討した. 蓄積されたデータの分析を行ったところ,共通して利用しているプログラム部品が少なかったため,蓄積されたデータ内には問題解決経験を再利用できることを示すための有用な結果は得られなかった.そこで,オープンソース・ソフトウェアのバグ情報を収集したサイトBugSpyからバグ情報とそれに対するソースコードの修正方法を人手で収集し,そのデータに対して検討した類似問題検出手法を用いて類似問題の検出を行った.その結果,類似した問題を検出できることを確認できた.ただし,検出された問題に対する修正方法については,同じ修正を適用可能な結果と適用不能な結果の両方が検出された. 我々が開発したプラグインを利用してコーディング時のデータ蓄積を今後も引き続き行うと同時に,バグ情報収集サイトBugSpyなどの情報を利用して,類似問題の検出手法の有効性の評価および検出された類似問題における修正方法の適用可能性についての評価を,今後行う予定である.
|