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
Dynamic generation of likely invariants for multithreaded programs
Markus Kusano,Arijit Chattopadhyay,Chao Wang +2 more
- 16 May 2015
TL;DR: A new dynamic invariant generator consisting of an LLVM based code instrumentation front end, a systematic thread interleaving explorer, and a customized invariant inference engine that can generate invariants that are significantly higher in quality than the previous state-of-the-art.
An Automation-Assisted Empirical Study on Lock Usage for Concurrent Programs
Rui Xin,Zhengwei Qi,Shiqiu Huang,Chengcheng Xiang,Yudi Zheng,Yin Wang,Haibing Guan +6 more
- 22 Sep 2013
TL;DR: This paper reports an empirical study on lock usage in concurrent programs based on the automatic lock analysis tool called LUPA, which analyzes how lock is used in concurrent Programs and how lock usage changes throughout the product environment.
10
Modeling Firmware as Service Functions and Its Application to Test Generation
Sunha Ahn,Sharad Malik +1 more
- 05 Nov 2013
TL;DR: This paper introduces a specific Service-Function Transaction-Level Model (TLM) for modeling the firmware and interacting hardware components and shows its application in automatic test generation of firmware design.
9
Does Hardware Configuration and Processor Load Impact Software Fault Observability
Raza Abbas Syed,Brian Robinson,Laurie Williams +2 more
- 06 Apr 2010
TL;DR: A case study on Mozilla Firefox with a selected set of reported field failures finds that hardware configurations that had less processor speed and memory observed more failures than others, and shows that by manipulating processor load, one can influence the observability of some faults.
Fidgeting to the point of no return
Marina Biberstein,Eitan Farchi,Shmuel Ur +2 more
- 26 Apr 2004
TL;DR: A more powerful shadowing algorithm that can delay not only writes but also reads and other kinds of instructions, at most until a relevant control decision is taken, which is the longest possible delay for algorithms of this class.
8
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