TY - GEN
T1 - Leaping loops in the presence of abstraction
AU - Ball, Thomas
AU - Kupferman, Orna
AU - Sagiv, Mooly
PY - 2007
Y1 - 2007
N2 - Finite abstraction helps program analysis cope with the huge state space of programs. We wish to use abstraction in the process of error detection. Such a detection involves reachability analysis of the program. Reachability in an abstraction that under-approximates the program implies reachability in the concrete system. Under-approximation techniques, however, lose precision in the presence of loops, and cannot detect their termination. This causes reachability analysis that is done with respect to an abstraction to miss states of the program that are reachable via loops. Current solutions to this loop-termination challenge are based on fair termination and involve the use of well-founded sets and ranking functions. In many cases, the concrete system has a huge, but still finite set of states. Our contribution is to show how, in such cases, it is possible to analyze termination of loops without refinement and wimout well-founded sets and ranking functions. Instead, our method is based on conditions on the structure of the graph that corresponds to the concrete system - conditions that can be checked with respect to the abstraction. We describe our method, demonstrate its usefulness and show how its application can be automated by means of a theorem prover.
AB - Finite abstraction helps program analysis cope with the huge state space of programs. We wish to use abstraction in the process of error detection. Such a detection involves reachability analysis of the program. Reachability in an abstraction that under-approximates the program implies reachability in the concrete system. Under-approximation techniques, however, lose precision in the presence of loops, and cannot detect their termination. This causes reachability analysis that is done with respect to an abstraction to miss states of the program that are reachable via loops. Current solutions to this loop-termination challenge are based on fair termination and involve the use of well-founded sets and ranking functions. In many cases, the concrete system has a huge, but still finite set of states. Our contribution is to show how, in such cases, it is possible to analyze termination of loops without refinement and wimout well-founded sets and ranking functions. Instead, our method is based on conditions on the structure of the graph that corresponds to the concrete system - conditions that can be checked with respect to the abstraction. We describe our method, demonstrate its usefulness and show how its application can be automated by means of a theorem prover.
UR - http://www.scopus.com/inward/record.url?scp=38149091713&partnerID=8YFLogxK
U2 - 10.1007/978-3-540-73368-3_50
DO - 10.1007/978-3-540-73368-3_50
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:38149091713
SN - 3540733671
SN - 9783540733676
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 491
EP - 503
BT - Computer Aided Verification - 19th International Conference, CAV 2007, Proceedings
PB - Springer Verlag
T2 - 19th International Conference on Computer Aided Verification, CAV 2007
Y2 - 3 July 2007 through 7 July 2007
ER -