An overview of the runtime verification tool Java PathExplorer
K Havelund, G Roşu - Formal methods in system design, 2004 - Springer
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 …
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 …
Atomizer: a dynamic atomicity checker for multithreaded programs
C Flanagan, SN Freund - ACM SIGPLAN Notices, 2004 - dl.acm.org
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 …
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
K Havelund, G Roşu - International Journal on Software Tools for …, 2004 - Springer
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 …
DataRaceBench: a benchmark suite for systematic evaluation of data race detection tools
C Liao, PH Lin, J Asplund, M Schordan… - Proceedings of the …, 2017 - dl.acm.org
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 …
Runtime analysis of atomicity for multithreaded programs
L Wang, SD Stoller - IEEE Transactions on Software …, 2006 - ieeexplore.ieee.org
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 …