Tools for Cleanroom Software Engineering
From my experience teaching the Cleanroom method in my software
engineering course, I have hypothesized that the use of CASE tools
would be helpful in applying the method. Since I do not know of any
open-source CASE tools, my students and I have been developing our
own, targeted primarily for educational use.
All of these tools are distributed under a license
derived from the
three-clause BSD license.
Downloads
Each download is a JAR file. All were written using Java 5.0. To run
a JAR file, type java -jar file.jar.
- Black Box Viewer, version 2.0 (version 1.15): This program
enables the user to create and edit Cleanroom-inspired black box
specifications. It has facilities for checking correctness and completeness.
It also has a validation mechanism that generates a prototype of a software
artifact specified by the black box.
- State Box Viewer, version 0.3.2: This program
enables the user to create and edit Cleanroom-inspired state box
specifications. At this time, it is simply an editor; it does no automated
analysis as of yet.
- Source Code Viewer, version 0.1.20: This
program performs a trace on a Java program annotated with intended functions.
The only mandatory annotations are at the start of each method and at the
start of each loop. The program then performs a trace to derive intended
functions for every line of code. It can display the results of this process
in several different ways.
The program can parse most of the Java 5 language. Anonymous inner classes
are not included, and are not likely to be included. Please contact me if you
have a Java program that it cannot process that lacks anonymous inner classes.
Although it can process exception-handling code, it completely ignores the
contents of "catch" blocks.