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
Analysis of Applicability for Synchronization Complexity Metric
Peter Yastrebenetsky,Mark Trakhtenbrot +1 more
- 27 Apr 2011
TL;DR: The paper analyzes the practical applicability of the novel Synchronization Complexity metric (SCM) and shows that it is a useful practical instrument for evaluation of complex software systems.
2
Improving throughput via slowdowns
Maayan Goldstein,Onn Shehory,Rachel Tzoref-Brill,Shmuel Ur +3 more
- 01 May 2010
TL;DR: This paper introduces a generic solution that slows-down some components to deliver improvement in request service time and was implemented, tested, and successfully applied to two industrial systems with no need to modify their logic or architecture.
2
Concurrent Software Testing : A Systematic Review and an Evaluation of Static Analysis Tools
Md. Abdullah Al Mamun,Aklima Khanam +1 more
- 01 Jan 2009
TL;DR: This study presents the evaluation of four commercial and open source static analysis tools detecting Java multithreaded bugs and aims to explore the state-of-the-art of concurrent software testing.
2
State Exploration of Scala Actor Programs
Mirco Dotta
- 01 Jan 2009
TL;DR: This dissertation developed a general framework, called SEJAP, for exploring possible message schedules in actor systems compiled to the Java bytecode, and implemented the framework, Scala instantiation, and optimizations in Java PathFinder, a widely used model checker for Javabytecode developed by NASA.
1
Lightweight specifications for parallel correctness
Koushik Sen,Jacob Burnim +1 more
- 01 Jan 2012
TL;DR: These lightweight specifications for parallelism correctness enable us to much more effectively specify, test, debug, and verify the use of parallelism in multithreaded software, independent of complex and fundamentally-sequential functional correctness.
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