Modular Verification of Collaboration-Based Software Designs

Kathi Fisler, Shriram Krishnamurthi

Joint European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, 2001

(Invited to Journal.)


Most existing modular model checking techniques betray their hardware roots: they assume that modules compose in parallel. In contrast, collaboration-based software designs, which have proven very successful in several domains, are sequential in the simplest case. Most interesting collaboration-based designs are really quasi-sequential compositions of parallel compositions. These design demand and inspire new verification techniques. This paper presents algorithms that exploit the software’s modular decomposition to verify collaboration-based designs. Our technique can verify most properties locally in the collaborations; we also characterize when a global state space construction is unavoidable. We have validated our proposal by testing it on several designs.


Some experimental resuls are contained in our SPIN 2002 work. We also greatly enriched a restricted version of this model in FSE 2002 and subsequent work. An informal position paper puts the research program in perspective.



These papers may differ in formatting from the versions that appear in print. They are made available only to support the rapid dissemination of results; the printed versions, not these, should be considered definitive. The copyrights belong to their respective owners.