2013年12月24日森崎修司 准教授(情報システム学専攻)2013/10/1着任
2013年10月に着任いたしました。よろしくお願いいたします。
エンピリカルソフトウェア工学を研究の基盤としています。エンピリカルソフトウェア工学は、ソフトウェア開発の効率化やソフトウェアの高品質化を目的とし、個々のソフトウェア開発に適した理論や技法の活用を議論しています。その前提には、ソフトウェア開発はそれぞれのコンテキスト(背景、条件、制約)があり、同じ理論や技法であっても得られる効果が異なるという考えがあります。
図1は、ある検証技法Xをコンテキストの異なるソフトウェア開発において活用する際にコンテキストを考慮した場合とそうでない場合を比較しています。コンテキストを意識すれば、検証技法Xは厳密なリアルタイム性を求められる部分の検証に威力を発揮するもののコストが大きいという特徴やそれにより効果が見込めるソフトウェア開発が明らかになり、「技法Xを活用する」「実施コストに見合わない」といった判断を開始前にできます。
図1 技法活用におけるコンテキストの考慮
こうしたエンピリカルソフトウェア工学での考え方をふまえ、具体的な研究テーマとしてソフトウェアレビュー、ソフトウェア計測に取り組んでいます。ソフトウェアレビューは静的解析技法の一つであり、プログラムを動作させずに目視で欠陥を検出する技法です。品質向上を目的としてオープンソースソフトウェアにおけるコードレビューや商用開発における要求、設計ドキュメントのレビューをはじめ広く活用されています。しかし「目視で欠陥を検出する」以外に明示的に決められていることが少なく、ドキュメントの体裁や誤字脱字といったソフトウェアの品質を大きく改善しない欠陥ばかりが検出されることも少なくありません。その解決策の一つとして、類似のソフトウェアや同一ソフトウェアの過去のバージョンのバグレポート(テストで検出された欠陥)を分析して重点的に検出すべき欠陥タイプを明らかにして、レビューで検出する技法(図2)を提案しています。これにより個々の開発のコンテキストにあった欠陥検出が可能となることを確認しています[1][2]。
図2 過去のバグレポートから注意すべき欠陥タイプを得てレビューで検出する技法
もう一つのソフトウェア計測のテーマではソースコードリポジトリやバグトラッキングシステム、開発関係者のコミュニケーションの記録を計測の対象としています。バグトラッキングシステムの分析により修正に時間を要するバグの特徴を明らかにしたり、質問、回答のやりとりやレビューでの欠陥指摘を用いて、コミュニケーションの収束具合からソフトウェアの品質を予測したりしています。
[1] 過去の不具合の修正工数を考慮したソフトウェアレビュー手法,森崎 修司,久保 匡,荻野 利彦,阪本 太志,山田 淳,電子情報通信学会論文誌 D Vol.J95-D No.8 pp.1623-1632(2012)
[2] 修正確認テスト規模の低減を目的としたコードレビュー手法,田村 晃一, 亀井 靖高, 上野 秀剛, 森崎 修司, 松本 健一,情報処理学会論文誌, Vol.50, No.12, pp.3074-3083 (2009)