Debugging Parallel Programs with Instant Replay
IEEE Transactions on Computers
A general-purpose algorithm for analyzing concurrent programs
Communications of the ACM
Data Dependency Graphs for Ada Programs
IEEE Transactions on Software Engineering
A Noninterference Monitoring and Replay Mechanism for Real-Time Software Testing and Debugging
IEEE Transactions on Software Engineering
Ada: concurrent programming (2nd ed.)
Ada: concurrent programming (2nd ed.)
Debugging Concurrent Ada Programs by Deterministic Execution
IEEE Transactions on Software Engineering
PCF parallel Fortran extensions
ACM SIGPLAN Fortran Forum
Structural Testing of Concurrent Programs
IEEE Transactions on Software Engineering
Nondeterminancy: testing and debugging in message passing parallel programs
PADD '93 Proceedings of the 1993 ACM/ONR workshop on Parallel and distributed debugging
Testing races in parallel programs with an OtOt strategy
ISSTA '94 Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
Communicating sequential processes
Communications of the ACM
Design of a separable transition-diagram compiler
Communications of the ACM
Preliminary Ada reference manual
ACM SIGPLAN Notices - Preliminary Ada reference manual
Hi-index | 0.00 |
Software testing and metrics are two important approaches to assure the reliability and quality of software. The emergence of concurrent programming in recent years introduces new testing problems and difficulties that cannot be solved by testing techniques for traditional sequential programs. One of the difficult tasks is that concurrent programs can have many instances of execution for the same set of input data. Many concurrent program testing methodologies propose to solve controlled execution and determinism. There are few discussions of concurrent software testing from the inter-task viewpoints. Yet, the common characteristics of concurrent programming are explicit identification of the large grain parallel computation units (tasks), and the explicit inter-task communication via rendezvous-style mechanisms. In this paper, we focus on testing concurrent programs through task decomposition. We propose four testing criteria to test a concurrent program. The programmer can choose an appropriate testing strategy depending on the properties of the concurrent program. Associated with the strategies, four equations are provided to measure the complexity of concurrent programs.