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
Automatic software repair: a survey
Luca Gazzola,Daniela Micucci,Leonardo Mariani +2 more
- 27 May 2018
TL;DR: A new class of approaches, namely program repair techniques, whose key idea is to try to automatically repair software systems by producing an actual fix that can be validated by the testers before it is finally accepted, or that is adapted to properly fit the system.
Falcon: fault localization in concurrent programs
Sangmin Park,Richard Vuduc,Mary Jean Harrold +2 more
- 01 May 2010
TL;DR: A new dynamic fault-localization technique that can pinpoint faulty data-access patterns in multi-threaded concurrent programs and effectively and efficiently localize the faults for subjects is presented.
165
ConSeq: detecting concurrency bugs through sequential errors
Wei Zhang,Junghee Lim,Ramya Olichandran,Joel Scherpelz,Guoliang Jin,Shan Lu,Thomas Reps +6 more
- 05 Mar 2011
TL;DR: ConSeq's backwards approach, (3)!(2)!(1), provides advantages in bug-detection coverage and accuracy but is challenging to carry out, because phases (2) and (3) usually are short and occur within one thread.
Testing Concurrent Java Programs using Randomized Scheduling
TL;DR: The approach discussed here is more scalable but less systematic, which transforms a given Java program by inserting calls to a scheduling function at selected points, ensuring that for each reachable deadlock and assertion violation, there is a sequence of choices by the scheduling function that leads to it.
141
Reachability testing of concurrent programs
Yu Lei,Richard H. Carver +1 more
TL;DR: A general execution model for concurrent programs that allows reachability testing to be applied to several commonly used synchronization constructs is presented and a new method for performing reachable testing is presented.
135
References
•Book
Distributed algorithms
Nancy Lynch
- 01 Jan 1996
TL;DR: This book familiarizes readers with important problems, algorithms, and impossibility results in the area, and teaches readers how to reason carefully about distributed algorithms-to model them formally, devise precise specifications for their required behavior, prove their correctness, and evaluate their performance with realistic measures.
Deterministic replay of distributed Java applications
Ravi Konuru,Harini Srinivasan,Jong-Deok Choi +2 more
- 01 May 2000
TL;DR: This paper describes the issues and presents the design, implementation and preliminary performance results of distributed Deja Vu that provides deterministic replay of distributed Java applications running on multiple JVMs.