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 …

S2E: A platform for in-vivo multi-path analysis of software systems

V Chipounov, V Kuznetsov, G Candea - Acm Sigplan Notices, 2011 - dl.acm.org
This paper presents S2E, a platform for analyzing the properties and behavior of software
systems. We demonstrate S2E's use in develo** practical tools for comprehensive …

Analysis of multithreaded programs

M Rinard - International Static Analysis Symposium, 2001 - Springer
The field of program analysis has focused primarily on sequential programming languages.
But multithreading is becoming increasingly important, both as a program structuring …

AsyncShock: Exploiting synchronisation bugs in Intel SGX enclaves

N Weichbrodt, A Kurmus, P Pietzuch… - … Security–ESORICS 2016 …, 2016 - Springer
Abstract Intel's Software Guard Extensions (SGX) provide a new hardware-based trusted
execution environment on Intel CPUs using secure enclaves that are resilient to accesses by …

{Under-Constrained} symbolic execution: Correctness checking for real code

DA Ramos, D Engler - 24th USENIX Security Symposium (USENIX …, 2015 - usenix.org
Software bugs are a well-known source of security vulnerabilities. One technique for finding
bugs, symbolic execution, considers all possible inputs to a program but suffers from …

The nesC language: A holistic approach to networked embedded systems

D Gay, P Levis, R Von Behren, M Welsh, E Brewer… - Acm Sigplan …, 2003 - dl.acm.org
We present nesC, a programming language for networked embedded systems that
represent a new design space for application developers. An example of a networked …

Learning from mistakes: a comprehensive study on real world concurrency bug characteristics

S Lu, S Park, E Seo, Y Zhou - … of the 13th international conference on …, 2008 - dl.acm.org
The reality of multi-core hardware has made concurrent programs pervasive. Unfortunately,
writing correct concurrent programs is difficult. Addressing this challenge requires advances …

Model checking programs

W Visser, K Havelund, G Brat, SJ Park… - Automated software …, 2003 - Springer
The majority of work carried out in the formal methods community throughout the last three
decades has (for good reasons) been devoted to special languages designed to make it …

Finding bugs is easy

D Hovemeyer, W Pugh - Acm sigplan notices, 2004 - dl.acm.org
Many techniques have been developed over the years to automatically find bugs in
software. Often, these techniques rely on formal methods and sophisticated program …