Proceedings Article10.1145/376656.376848
Multithreaded Java program test generation
Orit Edelstein,Eitan Farchi,Yarden Nir,Gil Ratsaby,Shmuel Ur +4 more
- 01 Jun 2001
- pp 181
TL;DR: ConTest, a tool for detecting synchronization faults in multithreaded Java programs that makes random or coveragebased decisions as to whether the seeded primitive is to be executed, increases the probability of finding concurrent faults.
read more
Abstract: We describe ConTest, a tool for detecting synchronization faults in multithreaded Java™ programs. The program under test is seeded with a sleep(), yield(), or priority() primitive at shared memory accesses and synchronization events. At run time, ConTest makes random or coverage-based decisions as to whether the seeded primitive is to be executed. Thus, the probability of finding concurrent faults is increased. A replay algorithm facilitates debugging by saving the order of shared memory accesses and synchronization events.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Bita: Coverage-guided, automatic testing of actor programs
Samira Tasharofi,Michael Pradel,Yu Lin,Ralph E. Johnson +3 more
- 11 Nov 2013
TL;DR: Bitta is presented, a scalable, automatic approach for testing non-deterministic behavior of actor programs, to generate and explore schedules that are likely to reveal concurrency bugs because these schedules increase the schedule coverage.
34
A classification of concurrency failures in Java components
Brad Long,Paul Strooper +1 more
- 22 Apr 2003
TL;DR: A producer-consumer monitor is used to demonstrate how the approach can be used to measure coverage of concurrency primitives and thereby assist in determining test sequences for deterministic execution.
Mutation-based exploration of a method for verifying concurrent Java components
Brad Long,Roger Duke,D. Goldson,Paul Strooper,Luke Wildman +4 more
- 26 Apr 2004
TL;DR: This paper explores a method for verifying concurrent Java components based on a mix of code inspection, static analysis tools, and the ConAn testing tool by applying it to an implementation of the well-known readers-writers problem and a number of mutants of that implementation.
32
Traffic-aware Stress Testing of Distributed Real-Time Systems Based on UML Models in the Presence of Time Uncertainty
Vahid Garousi
- 09 Apr 2008
TL;DR: A modified testing methodology is presented which can be used to stress test systems when the timing information of messages is imprecise or unpredictable and is more effective in detecting RT faults when compared to the previous methodology.
25
Assertion guided abstraction: a cooperative optimization for dynamic partial order reduction
Markus Kusano,Chao Wang +1 more
- 15 Sep 2014
TL;DR: A new method is developed, called assertion guided abstraction, which leverages both static and dynamic program analyses in a cooperative framework to reduce the interleaving space during stateless model checking of multithreaded C/C++ programs.
References
Time, clocks, and the ordering of events in a distributed system
TL;DR: In this article, the concept of one event happening before another in a distributed system is examined, and a distributed algorithm is given for synchronizing a system of logical clocks which can be used to totally order the events.
Time, clocks, and the ordering of events in a distributed system
TL;DR: In this paper, the concept of one event happening before another in a distributed system is examined, and a distributed algorithm is given for synchronizing a system of logical clocks which can be used to totally order the events.
•Book
Design and validation of computer protocols
Gerard J. Holzmann
- 01 Jan 1991
TL;DR: Part 1 Basic: introduction protocol structure error control flow control and design tools: a protocol simulator a protocol validator using the validator.
Eraser: a dynamic data race detector for multithreaded programs
TL;DR: A new tool, called Eraser, is described, for dynamically detecting data races in lock-based multithreaded programs, which uses binary rewriting techniques to monitor every shared-monory reference and verify that consistent locking behavior is observed.
A general-purpose algorithm for analyzing concurrent programs
TL;DR: A static analysis algorithm is presented here that addresses the following problems: how processes are synchronized, what determines when programs are run in parallel, and how errors are detected in the synchronization structure.
322