ISP Formal Verification Tool


ISP is a tool for the formal verification of MPI programs developed within the School of Computing at the University of Utah. Like model checkers, such as SPIN, ISP verifies the complete state space of a system for a set of safety properties. However, unlike model checkers, ISP performs code level verification. This means that the tool verifies all relevant interleavings of a concurrent program by replaying the actual program code without building verification models. This idea was pioneered in a number of tools, notably by Godefroid, in his VeriSoft tool.
Other recent tools of this genre include the Java Pathfinder, Microsoft's CHESS tool, and MODIST.
Relevant interleavings are computed using a customized dynamic partial order reduction algorithm called POE.
ISP has been used to successfully verify up to 14,000 lines of MPI/C code for deadlocks and assertion violations. It currently supports over 60 MPI 2.1 functions, and has been tested with MPICH2, OpenMPI,and Microsoft MPI libraries.
ISP is available for download for linux and Mac OS X; as a Visual Studio plugin for running under Windows, and as an Eclipse plugin..

Cited By

Combining symbolic execution with model checking to verify parallel numerical programs,umass.edu
SF Siegel, A Mironova, GS Avrunin, LA Clarke - ACM Transactions on Software Engineering and Methodology - portal.acm.org
Verification of halting properties for MPI programs using nonblocking operations
- psu.edu
SF Siegel, GS Avrunin - Lecture Notes in Computer Science, 2007 - Springer
R Xue, X Liu, M Wu, Z Guo, W Chen, W Zheng, Z Zhang, Geoffrey M. Voelker
Tsinghua University, Microsoft Research Asia, University of Southern California San Diego - cs.ucsd.edu
Dynamic testing of flow graph based parallel applications
- epfl.ch
B Schaeli, RD Hersch - Proceedings of the 6th workshop on Parallel and distributed Programming, 2008 - portal.acm.org
Visual Debugging of MPI Applications
- epfl.ch
B Schaeli, A Al-Shabibi, RD Hersch - Proceedings of the 15th European PVM/MPI Users' Group …, 2008 - Springer