Program invariants can help software developers identify program properties that must be preserved as the software evolves, however, formulating correct invariants can be challenging. In this work, we introduce iDiscovery, a technique which leverages symbolic execution to improve the quality of dynamically discovered invariants computed by Daikon. Candidate invariants generated by Daikon are synthesized into assertions and instrumented onto the program. The instrumented code is executed symbolically to generate new test cases that are fed back to Daikon to help further re ne the set of candidate invariants. This feedback loop is executed until a x-point is reached. To mitigate the cost of symbolic execution, we present optimizations to prun...
Software bugs are a persistent feature of daily life---crashing web browsers, allowing cyberattacks,...
Abstract. We describe the design and implementation of an automatic invariant generator for imperati...
Dynamic symbolic execution has been shown an effective technique for automated test input generation...
Dynamically discovering likely program invariants from con-crete test executions has emerged as a hi...
Dynamically discovering likely program invariants from concrete test executions has emerged as a hig...
Dynamic symbolic execution (DSE) is a non-standard execution mechanism which, loosely, executes a pr...
We implemented our technique in the DySy tool, which utilizes a powerful symbolic execution and simp...
This paper describes three contributions I made to our system which collectively produce the executi...
Dynamic invariant detection is a software analysis technique that uses traces of function entry and ...
AbstractDaikon is an implementation of dynamic detection of likely invariants; that is, the Daikon i...
Abstract—Program invariants are statements or assertions that are widely used in program analysis an...
Although the program verification community has developed several techniques for analyzing software ...
AbstractThis paper shows how to integrate two complementary techniques for manipulating program inva...
Invariants are concise and useful descriptions of a program's behaviour. As most programs are not an...
Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Compute...
Software bugs are a persistent feature of daily life---crashing web browsers, allowing cyberattacks,...
Abstract. We describe the design and implementation of an automatic invariant generator for imperati...
Dynamic symbolic execution has been shown an effective technique for automated test input generation...
Dynamically discovering likely program invariants from con-crete test executions has emerged as a hi...
Dynamically discovering likely program invariants from concrete test executions has emerged as a hig...
Dynamic symbolic execution (DSE) is a non-standard execution mechanism which, loosely, executes a pr...
We implemented our technique in the DySy tool, which utilizes a powerful symbolic execution and simp...
This paper describes three contributions I made to our system which collectively produce the executi...
Dynamic invariant detection is a software analysis technique that uses traces of function entry and ...
AbstractDaikon is an implementation of dynamic detection of likely invariants; that is, the Daikon i...
Abstract—Program invariants are statements or assertions that are widely used in program analysis an...
Although the program verification community has developed several techniques for analyzing software ...
AbstractThis paper shows how to integrate two complementary techniques for manipulating program inva...
Invariants are concise and useful descriptions of a program's behaviour. As most programs are not an...
Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Compute...
Software bugs are a persistent feature of daily life---crashing web browsers, allowing cyberattacks,...
Abstract. We describe the design and implementation of an automatic invariant generator for imperati...
Dynamic symbolic execution has been shown an effective technique for automated test input generation...