An overview of the runtime verification tool Java PathExplorer
We present an overview of the Java PathExplorer runtime verification tool, in short referred
to as JPAX. JPAX can monitor the execution of a Java program and check that it conforms …
to as JPAX. JPAX can monitor the execution of a Java program and check that it conforms …
A survey on software fault localization
Software fault localization, the act of identifying the locations of faults in a program, is widely
recognized to be one of the most tedious, time consuming, and expensive-yet equally critical …
recognized to be one of the most tedious, time consuming, and expensive-yet equally critical …
Atomizer: a dynamic atomicity checker for multithreaded programs
Ensuring the correctness of multithreaded programs is difficult, due to the potential for
unexpected interactions between concurrent threads. Much previous work has focused on …
unexpected interactions between concurrent threads. Much previous work has focused on …
Efficient system-enforced deterministic parallelism
Deterministic execution offers many benefits for debugging, fault tolerance, and security.
Current methods of executing parallel programs deterministically, however, often incur high …
Current methods of executing parallel programs deterministically, however, often incur high …
Software fault localization: An overview of research, techniques, and tools
This chapter describes traditional and intuitive fault localization techniques, including
program logging, assertions, breakpoints, and profiling. Many advanced fault localization …
program logging, assertions, breakpoints, and profiling. Many advanced fault localization …
MUVI: Automatically inferring multi-variable access correlations and detecting related semantic and concurrency bugs
S Lu, S Park, C Hu, X Ma, W Jiang, Z Li… - Proceedings of twenty …, 2007 - dl.acm.org
Software defects significantly reduce system dependability. Among various types of software
bugs, semantic and concurrency bugs are two of the most difficult to detect. This paper …
bugs, semantic and concurrency bugs are two of the most difficult to detect. This paper …
Associating synchronization constraints with data in an object-oriented language
Concurrency-related bugs may happen when multiple threads access shared data and
interleave in ways that do not correspond to any sequential execution. Their absence is not …
interleave in ways that do not correspond to any sequential execution. Their absence is not …
Efficient monitoring of safety properties
The problem of testing whether a finite execution trace of events generated by an executing
program violates a linear temporal logic (LTL) formula occurs naturally in runtime analysis of …
program violates a linear temporal logic (LTL) formula occurs naturally in runtime analysis of …
Runtime analysis of atomicity for multithreaded programs
Atomicity is a correctness condition for concurrent systems. Informally, atomicity is the
property that every concurrent execution of a set of transactions is equivalent to some serial …
property that every concurrent execution of a set of transactions is equivalent to some serial …
DataRaceBench: a benchmark suite for systematic evaluation of data race detection tools
Data races in multi-threaded parallel applications are notoriously damaging while extremely
difficult to detect. Many tools have been developed to help programmers find data races …
difficult to detect. Many tools have been developed to help programmers find data races …