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 …

A survey on software fault localization

WE Wong, R Gao, Y Li, R Abreu… - IEEE Transactions on …, 2016 - ieeexplore.ieee.org
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 …

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 …

Efficient system-enforced deterministic parallelism

A Aviram, SC Weng, S Hu, B Ford - Communications of the ACM, 2012 - dl.acm.org
Deterministic execution offers many benefits for debugging, fault tolerance, and security.
Current methods of executing parallel programs deterministically, however, often incur high …

Software fault localization: An overview of research, techniques, and tools

WE Wong, R Gao, Y Li, R Abreu… - Handbook of Software …, 2023 - Wiley Online Library
This chapter describes traditional and intuitive fault localization techniques, including
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 …

Associating synchronization constraints with data in an object-oriented language

M Vaziri, F Tip, J Dolby - ACM Sigplan Notices, 2006 - dl.acm.org
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 …

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 …

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 …

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 …