ソフトウェアクリーンルーム
表示
ソフトウェアクリーンルーム(Cleanroom Software Engineering)とは、検証可能な信頼性を保ったソフトウェア開発工程のモデルの1つである。クリーンルーム手法はIBMにてハーラン・ミルズらが開発した[1]。クリーンルーム手法の主眼はバグ除去よりもバグ予測にある。この名称は集積回路の製造工程で使われるクリーンルームが語源であり、欠陥を防ぐという目的の類似性から使われている。著作権や特許の侵害を防ぐクリーンルーム設計の開発とは関係しない。
クリーンルーム手法は1980年代末ごろから使われ始めた。1990年代初めには実証プロジェクトが軍関係で行われた[2]。最近では、CSPで表現された仕様による自動検証機能をクリーンルーム手法に組み合わせる試みがなされている[3]。
基本原則
[編集]クリーンルームプロセスの基本原則は次の通りである:
- 形式手法に基づくソフトウェア開発
- クリーンルーム開発では、「Box Structure Method」を使ってソフトウェア製品の設計を行う。設計が正しく要求仕様を実装しているかの検証はチームレビューで行う。
- 統計的プロセス制御による反復型開発
- クリーンルーム開発では、反復型開発手法を用いて機能を徐々に実装していく。各反復での品質は事前に定められた標準に従って計測され、合格すれば次に進むことができる。品質標準に不合格だった場合、その反復を中断し、設計からやり直すことになる。
- 統計的に正当な評価
- クリーンルームプロセスでのソフトウェアテストは統計的実験と見なすことができる。形式仕様記述に基づき、ソフトウェアの入出力値の代表を選別して評価する。また、この代表値を統計的に分析して、ソフトウェアの信頼度を測る。
脚注
[編集]- ^ Mills, H.; M. Dyer and R. Linger (September 1987). “Cleanroom Software Engineering”. IEEE Software 4 (5): 19–25.
- ^ Foreman, John (2005年). “Cleanroom Software Engineering”. Software Technology Roadmap. Software Engineering Institute (SEI). 2006年4月27日閲覧。
- ^ Guy H. Broadfoot and P. J. Hopcroft (2005年). Introducing formal methods into industry using Cleanroom and CSP. Dedicated Systems e-Magazine 2006年4月27日閲覧。.
参考文献
[編集]- Stavely, Allan (1999年). Toward Zero-Defect Programming. Addison-Wesley
- Stacy J. Prowell and Carmen J. Trammell and Richard C. Linger and Jesse H. Poore (1999年). Cleanroom Software Engineering: Technology and Process. Addison-Wesley
- Jesse H. Poore and Carmen J. Trammell (1996年). Cleanroom Software Engineering: A Reader. NCC Blackwell