Verification and inference of program invariants

Interprocedurally Analyzing Linear Inequalities

Idea:

We present the abstraction of the effect of procedures through convex sets of transition matrices.
Handling conditinal branching is realised by introducing auxilary variables and postponing the conditional evaluation after the procedure call.
In order to obtain an effective analysis convex sets are approximated by polyhedrea.
For an efficient implementation we approximate by means of simplices.

Test examples:

Example programsRunning time Polyhedron/SimplexInequalities at the end of main
recursive add0.234sec / 0.134sec result2=result1=result=8 y=3 x=5
loop bound15.132sec / 0.449sec i>=0 c-i>=1
example of mine2.417sec /0.325sec x>= 40 x<= 41
interprocedural example10.168sec / 0.029sec a=5 i=6