Structural Testing of Concurrent Programs
IEEE Transactions on Software Engineering
Model checking for programming languages using VeriSoft
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Replay and Testing for Concurrent Programs
IEEE Software
Reachability Testing of Asynchronous Message-Passing Programs
PDSE '97 Proceedings of the 2nd International Workshop on Software Engineering for Parallel and Distributed Systems
Efficient Reachability Testing of Asynchronous Message-Passing Programs
ICECCS '02 Proceedings of the Eighth International Conference on Engineering of Complex Computer Systems
Reachability Testing of Concurrent Programs
IEEE Transactions on Software Engineering
Research in concurrent software testing: a systematic review
Proceedings of the Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
Hi-index | 0.00 |
Concurrent programming is becoming more important in modern software development. However, concurrent programs exhibit non-deterministic behavior, which makes them difficult to test. In this paper, we describe how to apply reachability testing to semaphore-based multithreaded programs, i.e., programs that use semaphores to synchronize operations on shared data. A novel aspect of reachability testing is that it derives test sequences on-the-fly, avoiding the construction of any static models. Also, our reachability testing algorithms deal with partial orders directly, avoiding the test sequence explosion problem that occurs when independent events are interleaved. We describe a prototype tool called RichTest and report some preliminary results.