研究課題
テストカバレッジとはプログラムソースコードの全体に対するテストされた割合であり、テスト十分性の判断材料として様々なレベルで自動測定すべきである。さらに、プログラミング言語の更新や多様化、複数言語の併用開発の進展に伴い、多数の言語やレベルを統一的に扱えて、かつ、必要に応じ拡張可能な測定ツールが必要である。しかし既存のツール群は単一言語を扱い、また、拡張性に乏しい。そこで本研究では、多数の言語間の共通性と相違を分析し、共通部分を再利用可能かつ各言語特化部分の実装や測定レベル拡張を効率的に達成可能なテストカバレッジ測定フレームワークを実現することを目標とする。平成23年度は、拡張性の高いフレームワーク実現に必要な(1)再利用性の高いコード埋め込み部の実現、(2)カバレッジ表示部の拡張とフレームワーク統合、(3)測定フレームワークの評価-と改善、(4)拡張性向上に向けたオブジェクト指向フレームワーク特性評価のそれぞれについて取り組み、成果を論文等の形でまとめて発表した。さらに、完成部分についてオープンソースの形で広く一般にWeb上で公開した。具体的には、(1)言語モデル上での抽象構文木の整形および操作方法を共通処理として実装することで、多数の言語群に対応する再利用性の高いコード埋め込み部を実現した。(2)研究代表者らがこれまでに試作したフレームワーク内のカバレッジ表示部について種々のプログラム単位でフィルタリング出力する機能拡張を実施し利便性を高めたうえで、コード埋め込み部との統合を達成した。(3)複数の実プログラムに対するテスト実行について適用評価を開始し、その結果をフレームワークの特に拡張性や効率性向上に応用した。(4)得られた測定フレームワーク全体の拡張性向上に向けて、オブジェクト指向フレームワークを評価しその特性を明らかとした。
1: 当初の計画以上に進展している
当初の計画以上にフレームワークの実装を進めることができた結果として、完成部分についてオープンソースの形で広く一般にWeb上で公開することに成功したため。
今後、既存の総合的かつ対応プログラミング言語が限定的なテスト環境に対してフレームワークの仕組みを接続することで、多数のプログラミング言語に対応する形でテストカバレッジ測定および関連機能を統一的に提供可能なことを確認する予定である。さらに、一般公開したフレームワークに対する利用フードバックを受けて、フレームワークの拡張性や効率性等の改善を予定している。
すべて 2012 2011
すべて 雑誌論文 (6件) (うち査読あり 4件) 学会発表 (6件)
コンピュータソフトウェア
巻: Vol.29,No.1 ページ: 1_30-1_146
竃子情報通信学会論文誌
巻: Vol.J95-D,No.3 ページ: 412-424
巻: Vol.28,No.3 ページ: 114-131
IEICE Transactions on Information and Systems
巻: Vol.E94-D,No.12 ページ: 2418-2430
情報処理
巻: Vol.52,No.9 ページ: 1117-1118
巻: Vol.52,No.9 ページ: 1119-1126