Loop Invariants on Demand
نویسندگان
چکیده
This paper describes a sound technique that combines the precision of theorem proving with the loop-invariant inference of abstract interpretation. The loop-invariant computations are invoked on demand when the need for a stronger loop invariant arises, which allows a gradual increase in the level of precision used by the abstract interpreter. The technique generates loop invariants that are specific to a subset of a program’s executions, achieving a dynamic and automatic form of value-based trace partitioning. Finally, the technique can be incorporated into a lemmas-on-demand theorem prover, where the loop-invariant inference happens after the generation of verification conditions.
منابع مشابه
Data-Driven Loop Invariant Inference with Automatic Feature Synthesis
We present LOOPINVGEN, a tool for generating loop invariants that can provably guarantee correctness of a program with respect to a given specification. We extend the data-driven approach to inferring sufficient loop invariants from a collection of program states. In contrast to existing data-driven techniques, LOOPINVGEN is not restricted to a fixed set of features – atomic predicates that are...
متن کاملEffects of integrating physical and financial flows through a closed-loop supply chain network under uncertain demand and return
The impact of financial challenges on the profit of a supply chain, have caused the researcher to model the supply chain network by considering the operational and financial dimensions. Also, the establishment of a closed loop supply chain (CLSC) network has a high effect on economic profit. So, the purpose of this study is to design a stochastic closed loop supply chain network by considering ...
متن کاملGenerating Loop Invariants by Computing Vanishing Ideals of Sample Points
Loop invariants play a very important role in proving correctness of programs. In this paper, we address the problem of generating invariants of polynomial loop programs. We present a new approach, for generating polynomial equation invariants of polynomial loop programs through computing vanishing ideals of sample points. We apply rational function interpolation, based on early termination tec...
متن کاملInferring Loop Invariants Dynamically
There is extensive literature on inferring loop invariants statically (i.e. without explicitly executing the program under analysis). We report on a new dynamic technique for inferring loop invariants based on the invariant detector Daikon [2]. Unlike InvGen [4], this new technique follows a counter example guided approach for refining candidate loop invariants. Let us consider the following an...
متن کاملTalk on “ Loop Invariants on Demand ”
interpretation is a good method for deriving loop invariants, but, unfortunately, it does not work well with disjunctions. This is where the technique of the paper is supposed to help. The idea is to use a theorem prover to show that the assertion never fails for the set of traces corresponding to the second disjunct (N mod 2 6= 0). Thus the abstract interpreter can be run on the abstract state...
متن کامل