z-logo
open-access-imgOpen Access
Feedback-driven dynamic invariant discovery
Author(s) -
Lingming Zhang,
Guowei Yang,
Neha Rungta,
Suzette Person,
Sarfraz Khurshid
Publication year - 2014
Publication title -
nasa sti repository (national aeronautics and space administration)
Language(s) - English
Resource type - Conference proceedings
DOI - 10.1145/2610384.2610389
Subject(s) - symbolic execution , leverage (statistics) , computer science , reuse , invariant (physics) , software , theoretical computer science , set (abstract data type) , programming language , algorithm , mathematics , artificial intelligence , mathematical physics , ecology , biology
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 refine the set of candidate invariants. This feedback loop is executed until a fix-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.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom