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
Noise injection heuristics for concurrency testing
Bohuslav K,ena,Zdeněk Letko,Tom,Vojnar +4 more
- 14 Oct 2011
TL;DR: A new noise injection heuristics is proposed which uses concurrency coverage information to decide where to put noise and shows that it can outperform the existing approaches in certain cases.
A probabilistic alternative to regression suites
Shady Copty,Shai Fine,Shmuel Ur,Elad Yom-Tov,Avi Ziv +4 more
- 01 Sep 2008
TL;DR: In this paper, a new regression suite practice, using random test generators to create regression suites on-the-fly, is becoming more common, instead of maintaining tests, they generate test suites on the fly by choosing several specifications and generating a number of tests from each specification. But the main argument against the automation of regression suites, in addition to the cost of creation and maintenance, is the observation that if you run the same test many times, it becomes increasingly less likely to find bugs.
7
Automated formal analysis and verification: an overview
Bohuslav Křena,Tomáš Vojnar +1 more
TL;DR: This paper provides an overview of various existing approaches to automated formal analysis and verification, including its basic principles as well as the different techniques that have been proposed for dealing with the state space explosion problem in model checking.
7
Explaining intermittent concurrent bugs by minimizing scheduling noise
Yaniv Eytani,Timo Latvala +1 more
- 23 Oct 2006
TL;DR: It is argued that for many bug patterns only a few relevant context switches are critical for the bug, and a randomized algorithm is developed to reduce the scheduling noise and discover these events related to the bug.
7
Variable strength combinatorial testing of concurrent programs
TL;DR: This paper proposes a merging algorithm that implements the variable strength combinatorial testing strategy, which can keep the same capability of fault detection as exhaustive reachability testing while substantially reducing the number of synchronization sequences and decreasing the execution time in most cases.
7
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