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
ConTest listeners: a concurrency-oriented infrastructure for Java test and heal tools
Yarden Nir-Buchbinder,Shmuel Ur +1 more
- 03 Sep 2007
TL;DR: The ConTest Listener architecture provides instrumentation and runtime engines to which writers of test and heal tools, especially concurrency-oriented, can easily plug their code, enabling tool creators to focus on the concurrent problem they are trying to solve without writing the entire infrastructure.
A Lightweight System for Detecting and Tolerating Concurrency Bugs
TL;DR: A novel program invariant, name Anticipating Invariant (Ai
14
ASP: Abstraction Subspace Partitioning for Detection of Atomicity Violations with an Empirical Study
TL;DR: This work presents the first controlled experiment that studies two design factors, abstraction level and subspace, in partitioning such instances through 35 resultant partition-based techniques on 10 benchmarks with known vulnerability-related bugs, and reveals significant findings.
13
Testing Concurrent Objects with Application-Specific Schedulers
Rudolf Schlatte,Bernhard K. Aichernig,Frank S. de Boer,Andreas Griesmayer,Einar Broch Johnsen +4 more
- 01 Sep 2008
TL;DR: This paper proposes a novel approach to testing executable models of concurrent objects under application-specific scheduling regimes, based on the assumption that the author has full control over the (application-specific) scheduler, which is the case in the executable models under test.
FOAL 2003 Proceedings Foundations of Aspect-Oriented Langauges Workshop at AOSD 2003
Gary T. Leavens,Curtis Clifton +1 more
- 01 Jan 2003
TL;DR: This paper shows how to automatically identify and validateSpectative aspects in augmented systems, and imply absence of harm for all safety and liveness properties involving only the variables and fields of the original system.
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