Search NASASearch

NASA NTRS · 20150007883

Feedback-Driven Dynamic Invariant Discovery

Abstract

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 prune the symbolic state space and to reduce the complexity of the generated path conditions. We also leverage recent advances in constraint solution reuse techniques to avoid computing results for the same constraints across iterations. Experimental results show that iDiscovery converges to a set of higher quality invariants compared to the initial set of candidate invariants in a small number of iterations.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Zhang, Lingming, Yang, Guowei, Rungta, Neha S., Person, Suzette, Khurshid, Sarfraz. 2014-07-21. Feedback-Driven Dynamic Invariant Discovery. https://ntrs.nasa.gov/citations/20150007883

Cite the original work for its findings. Save a collection to share your selection of sources.