A concurrency analysis tool suite for Ada programs
- 1 January 1995
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Software Engineering and Methodology
- Vol. 4 (1) , 65-106
- https://doi.org/10.1145/201055.201080
Abstract
Cats (Concurrency Analysis Tool Suite) is designed to satisfy several criteria: it must analyze implementation-level Ada source code and check user-specified conditions associated with program source code; it must be modularized in a fashion that supports flexible composition with other tool components, including integration with a variety of testing and analysis techniques; and its performance and capacity must be sufficient for analysis of real application programs. Meeting these objectives together is significantly more difficult than meeting any of them alone. We describe the design and rationale of Cats and report experience with an implementation. The issues addressed here are primarily practical concerns for modularizing and integrating tools for analysis of actual source programs. We also report successful application of Cats to major subsystems of a (nontoy) highly concurrent user interface system.Keywords
This publication has 21 references indexed in Scilit:
- Re-designing tasking structures of Ada programs for analysis: A case studySoftware Testing, Verification and Reliability, 1994
- Structural testing of concurrent programsIEEE Transactions on Software Engineering, 1992
- A model of Ada programs for static deadlock detection in polynomial timesACM SIGPLAN Notices, 1991
- Debugging concurrent Ada programs by deterministic executionIEEE Transactions on Software Engineering, 1991
- Design and implementation of a Petri net based toolkit for Ada tasking analysisIEEE Transactions on Parallel and Distributed Systems, 1990
- Constrained expressions: toward broad applicability of analysis methods for distributed software systemsACM Transactions on Programming Languages and Systems, 1988
- Automatic verification of finite-state concurrent systems using temporal logic specificationsACM Transactions on Programming Languages and Systems, 1986
- Modeling the Ada task system by Petri netsComputer Languages, 1985
- A general-purpose algorithm for analyzing concurrent programsCommunications of the ACM, 1983
- MonitorsCommunications of the ACM, 1974