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 …
S2E: A platform for in-vivo multi-path analysis of software systems
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 …
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 …
But multithreading is becoming increasingly important, both as a program structuring …
AsyncShock: Exploiting synchronisation bugs in Intel SGX enclaves
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 …
execution environment on Intel CPUs using secure enclaves that are resilient to accesses by …
{Under-Constrained} symbolic execution: Correctness checking for real code
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 …
bugs, symbolic execution, considers all possible inputs to a program but suffers from …
The nesC language: A holistic approach to networked embedded systems
We present nesC, a programming language for networked embedded systems that
represent a new design space for application developers. An example of a networked …
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
The reality of multi-core hardware has made concurrent programs pervasive. Unfortunately,
writing correct concurrent programs is difficult. Addressing this challenge requires advances …
writing correct concurrent programs is difficult. Addressing this challenge requires advances …
Model checking programs
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 …
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 …
software. Often, these techniques rely on formal methods and sophisticated program …