Structural testing of concurrent programs
- 1 March 1992
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 18 (3) , 206-215
- https://doi.org/10.1109/32.126769
Abstract
Although structural testing techniques are among the weakest available with regard to developing confidence in sequential programs, they are not without merit. The authors extend the notion of structural testing criteria to concurrent programs and propose a hierarchy of supporting structural testing techniques. Coverage criteria described include concurrency state coverage, state transition coverage and synchronization coverage. Requisite support tools include a static concurrency analyzer and either a program transformation system or a powerful run-time monitor. Also helpful is a controllable run-time scheduler. The techniques proposed are suitable for Ada or CSP-like languages. Best results are obtained for programs having only static naming of tasking objects.<>Keywords
This publication has 20 references indexed in Scilit:
- Task Interaction Graphs For Concurrency AnalysisPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- Chiron-1: a user interface development system tailored to software environmentsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- The cost of data flow testing: an empirical studyIEEE Transactions on Software Engineering, 1990
- A formal evaluation of data flow path selection criteriaIEEE Transactions on Software Engineering, 1989
- TEAM: a support environment for testing, evaluation, and analysisPublished by Association for Computing Machinery (ACM) ,1988
- A probe effect in concurrent programsSoftware: Practice and Experience, 1986
- A Methodology for the Design of Ada Transformation Tools in a DIANA EnvironmentIEEE Software, 1985
- Petri NetsACM Computing Surveys, 1977
- Symbolic Testing and the DISSECT Symbolic Evaluation SystemIEEE Transactions on Software Engineering, 1977
- A System to Generate Test Data and Symbolically Execute ProgramsIEEE Transactions on Software Engineering, 1976