本研究では、ソフトウェア開発者がライブラリや再利用部品を利用して試行錯誤しながら実装する際の、デバッグ履歴および結果として残る利用のための実装コード群から、その開発経験をマイニングし形式知化することで、多くの開発者を支援する手法を開発することを目的としている。本年度の成果は主に以下の4つである。 1) 実行履歴の解析と効果的なデバッグ支援手法の開発 プログラムを実行した際の実行履歴は膨大な情報となり、全てを把握することが困難である。本年度はJavaプログラムをデバッグする際に、実行履歴を効果的に可視化するための手法としてSequence Diagram Slicing手法を開発した。提案手法を用いることで目標の振る舞いに関連する部分のみの理解しやすいシーケンス図を作成することが可能となる。本手法を応用することで、試行錯誤における実行履歴やそのデバッグ履歴を効果的に可視化し形式知化のための分析を行うことが可能となる。 2) 作業履歴蓄積ツールの開発と適用実験の実施 試行錯誤の作業履歴をより詳細に保存するために、デバッグ時の例外発生情報に加え、テストコードおよびその実行履歴を収集するツールを開発し、それらを対象としたマイニング手法を試作した。 3) コーディングルールチェッカーの開発 開発活動の蓄積をする対象として、コーディングルールチェッカーを検討し、C言語を対象とするコーディングルールチェッカーの開発を行った。開発環境によって個別に設定されるコーディング規約に柔軟に対応できるように、カスタマイズ性が高く、ルールの追加が容易となるように設計し、実際に代表的なコーディング規約に適用できることを確認した。 4) 様々な開発環境の検討 多品種開発や、MVCアーキテクチャに特化した開発手法における効果的な開発方法とその支援環境を提案しツール化と実験を行った。これらの経験をもとに、様々な開発環境における試行錯誤情報を効果的に取り扱う方式の検討を行った。
|