コンピュータ・システムやエレクトロニクス機器におけるソフトウエアの比重が大きくなるに従い,ソフトウエア開発におけるテストの重要性はどんどん高まっている。それと同時に,テストにかかる手間と費用も増大する一方である。今回掲載する論文では,Microsoft社の研究開発部門である Microsoft Researchが取り組んでいる自動テスト生成の手法やツールについて紹介する。

Patrice Godefroid
Peli de Halleux
Aditya V. Nori
Sriram K. Rajamani
Wolfram Schulte
Nikolai Tillmann
Microsoft Research(米Microsoft Corp.)
Michael Y. Levin
Microsoft Center for Software Excellence(米Microsoft Corp.)

 ソース・コードの静的検証により,プログラムの標準的なエラーに関する検査は,過去10年間で大幅に自動化された。いまや多くのソフトウエア開発の現場で,市販の静的検証ツールが日常的に使われている。これらのツールは,「自動的に」「さまざまな特性を」チェックし,「拡張性が高い」という三つの特徴を備えている。

 我々の長期の目標は,ソフト開発工程の中でもコストが掛かる部分,すなわちテストの工程を可能な限り自動化することだ。一般に,ソフトウエア・テストにかかるコストは,ソフトウエア開発を手掛ける会社や組織における研究開発費の約半分を占める。我々は特に,プログラム解析や自動制約解決の最新の成果を活用し,また,ますます強力になりつつある最新のコンピュータ・パワーを利用して,テスト生成を自動化したいと考えている。自動テスト生成ツールが静的検証ツールと同様の成功を収めるには,やはり,上で述べた三つの特徴が必要となる。

『日経エレクトロニクス』2009年4月20日号より一部掲載

4月20日号を1部買う