SimPlan is a prototype project for a new software testing system to supplement the existing systems of verification, validation and case-based testing. Whereas verification occurs at the end of the coding phase to check that the actual code does what the specification says that it should, and case-based testing occurs during the final portion of and after coding for a specific set of test cases, SimPlan will be usable throughout the design and coding phases to test for various types of errors.
SimPlan uses an internal language (SIL) to complete the actual testing involved. A "front end" to SimPlan will do the translation from the desired language into the internal language. The "front end" will also ask for the type of error being checked for and any conditions required for the error to exist. SimPlan completes the test and gives the answer to a "back end". The "back end" provides one of two answers depending on what was given to it from SimPlan. If the error condition could not be reached, the "back end" says so. If the error condition was reached, the "back end" will trace the route through the original code to the error. At this time, the "front end" and "back end" don't exist. All programs must be given in SIL and all conditions must be provided as states within the program.
SimPlan is usable for single programs or several programs running concurrently. Less time and memory is used for testing of single programs because a courser granularity is used when simulating the execution of the program. Memory use grows at least exponentially with each additional concurrent program.
SimPlan is most powerful when used with concurrent programs. With case-based testing, the user cannot specify which interleaving the programs are supposed to use. It may take days to reproduce a problem. SimPlan checks all possible interleavings and, if one produces the problem, SimPlan will find it every time. When the problem is fixed, SimPlan will be able to tell in the first run.
Partial funding and support for the completion of the SimPlan prototype was supplied by the NASA Idaho Space Grant Consortium (ISGC).
Andrew G.Tompkins
Last rev: 18 APR 02
URL:
http://home.teleport.com/~andytom/simplan.docs/index.html http://home.teleport.com/~andytom/simplan.docs/