




Research Assistant: W. J. Yeh
The CATS project (Concurrency Analysis Tool Suite) has two main goals. The first, and more general goal, is to develop strategies for combining different techniques and tools in a coherent approach to analysis and testing of software. The second goal, which serves to focus investigation of the first, is to develop a combination of tool-supported techniques for analysis and testing of realistic concurrent software.
One of the techniques used successfully in verifying small concurrent systems is enumeration of reachable states in a finite-state model (reachability analysis). Currently the CATS researchers are constructing a set of reachability analysis tool components that will be embedded in a software development environment, where combination with other techniques and issues of performance and accuracy can be explored. A major challenge is devising compositional (divide-and-conquer) analysis strategies to avoid the combinatorial explosion that has so far limited finite-state modeling techniques to systems with small numbers of processes. We are exploring applications of process algebra to achieve compositional reachability analysis in practice, and have constructed a prototype tool that analyzes systems beyond the capacity of global techniques.
The CATS project involves collaboration with Arcadia, a consortium of university and private research groups. Arcadia is developing architectural principles to support integration of evolving collections of tools in software development environments. Analysis and testing tools are a particular focus of Arcadia researchers. In an Arcadia environment, tools are broken into small "tool fragments" to facilitate flexible composition. Components of CATS developed at Purdue and components developed earlier at the University of California, Irvine, will be combined with components developed by collaborators at the University of Massachusetts, Amherst in Arcadia software development environments.




