[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1007/11817963_47guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Programs with lists are counter automata

Published: 17 August 2006 Publication History

Abstract

We address the verification problem of programs manipulating one-selector linked data structures. We propose a new automated approach for checking safety and termination for these programs. Our approach is based on using counter automata as accurate abstract models: control states correspond to abstract heap graphs where list segments without sharing are collapsed, and counters are used to keep track of the number of elements in these segments. This allows to apply automatic analysis techniques and tools for counter automata in order to verify list programs. We show the effectiveness of our approach, in particular by verifying automatically termination of some sorting programs.

References

[1]
The LASH toolset. http://www.montefiore.ulg.ac.be/~boigelot/research/lash/.
[2]
A. Bouajjani A. Annichini and M. Sighireanu. TReX: A Tool for Reachability Analysis of Complex Systems. In Proc. of CAV'01, volume 2102 of LNCS, 2001.
[3]
I. Balaban, A. Pnueli, and L. Zuck. Shape Analysis by Predicate Abstraction. In Proc. of VMCAI'05, volume 3385 of LNCS, 2005.
[4]
S. Bardin, A. Finkel, and D. Nowak. Toward Symbolic Verification of Programs Handling Pointers. In Proc. of AVIS'04, 2004.
[5]
S. Bardin, A. Finkel, J. Leroux, and L. Petrucci. FAST: Fast Acceleration of Symbolic Transition systems. In Proc. of CAV'03, volume 2725 of LNCS, 2003.
[6]
J. Berdine, C. Calcagno, and P. O'Hearn. A Decidable Fragment of Separation Logic. In Proc. of FSTTCS'04, volume 3328 of LNCS, 2004.
[7]
A. Bouajjani, M. Bozga, P. Habermehl, R. Iosif, P. Moro, and T. Vojnar. Programs with Lists are Counter Automata. Tech. Rep. TR-2006-3, Verimag, UJF/CNRS/INPG, Grenoble, 2006.
[8]
A. Bouajjani, P. Habermehl, P. Moro, and T. Vojnar. Verifying Programs with Dynamic 1- Selector-Linked Structures in Regular Model Checking. In Proc. of TACAS'05, volume 3440 of LNCS, 2005.
[9]
A. Bouajjani, P. Habermehl, and T. Vojnar. Abstract Regular Model Checking. In Proc. of CAV'04, volume 3114 of LNCS, 2004.
[10]
M. Bozga and R. Iosif. Quantitative Verification of Programs with Lists. VERIMAG TR- 2005-2, http://www-verimag.imag.fr, 2005.
[11]
A. Bradley, Z. Manna, and H. Sipma. Termination Analysis of Integer Linear Loops. In Proc. of CONCUR'05, volume 3653 of LNCS, 2005.
[12]
B. Cook, A. Podelski, and A. Rybalchenko. Abstraction Refinement for Termination. In Proc. of SAS'05, volume 3672 of LNCS, 2005.
[13]
P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In Proc. of POPL'97, 1977.
[14]
N. Dor, M. Rodeh, and S. Sagiv. Checking Cleanness in Linked Lists. In Proc. of SAS'00, volume 1824 of LNCS, 2000.
[15]
A. Finkel, 2006. Personal communication.
[16]
R. Iosif. Symmetry Reductions forModel Checking of Concurrent Dynamic Software. STTT, pages 302-319, 2004.
[17]
S. Ishtiaq and P. O'Hearn. BI as an assertion language for mutable data structures. In Proc. of POPL'01, 2001.
[18]
R. Manevich, E. Yahav, G. Ramalingam, and M. Sagiv. Predicate Abstraction and Canonical Abstraction for Singly-Linked Lists. In Proc. of VMCAI'05, volume 3385 of LNCS, 2005.
[19]
A. Møller and M.I. Schwartzbach. The Pointer Assertion Logic Engine. In Proc. of PLDI'01. ACM Press, 2001.
[20]
M. Presburger. Über die Vollstandigkeit eines Gewissen Systems der Arithmetik. Comptes Rendus du I Congrés des Pays Slaves, 1929.
[21]
S. Sagiv, T.W. Reps, and R. Wilhelm. Parametric Shape Analysis via 3-Valued Logic. TOPLAS, 2002.
[22]
E. Yahav, T. Reps, M. Sagiv, and R. Wilhelm. Verifying Temporal Heap Properties Specified via Evolution Logic. In Proc. of ESOP'03, volume 2618 of LNCS, 2003.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
CAV'06: Proceedings of the 18th international conference on Computer Aided Verification
August 2006
563 pages
ISBN:354037406X
  • Editors:
  • Thomas Ball,
  • Robert B. Jones

Sponsors

  • INTEL: Intel Corporation
  • NEC
  • Cadence Design Systems
  • Microsoft Research: Microsoft Research
  • IBM: IBM

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 17 August 2006

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2016)Heap Abstractions for Static AnalysisACM Computing Surveys10.1145/293109849:2(1-47)Online publication date: 30-Jun-2016
  • (2016)Guiding Craig interpolation with domain-specific abstractionsActa Informatica10.1007/s00236-015-0236-z53:4(387-424)Online publication date: 1-Jun-2016
  • (2016)Lazy Constrained Monotonic AbstractionProceedings of the 17th International Conference on Verification, Model Checking, and Abstract Interpretation - Volume 958310.1007/978-3-662-49122-5_7(147-165)Online publication date: 17-Jan-2016
  • (2014)Disproving termination with overapproximationProceedings of the 14th Conference on Formal Methods in Computer-Aided Design10.5555/2682923.2682941(67-74)Online publication date: 21-Oct-2014
  • (2014)Safety Problems Are NP-complete for Flat Integer Programs with Octagonal LoopsProceedings of the 15th International Conference on Verification, Model Checking, and Abstract Interpretation - Volume 831810.1007/978-3-642-54013-4_14(242-261)Online publication date: 19-Jan-2014
  • (2013)Reasoning about nondeterminism in programsACM SIGPLAN Notices10.1145/2499370.249196948:6(219-230)Online publication date: 16-Jun-2013
  • (2013)Reasoning about nondeterminism in programsProceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/2491956.2491969(219-230)Online publication date: 16-Jun-2013
  • (2012)Predicate abstraction of Java programs with collectionsACM SIGPLAN Notices10.1145/2398857.238462347:10(75-94)Online publication date: 19-Oct-2012
  • (2012)Predicate abstraction of Java programs with collectionsProceedings of the ACM international conference on Object oriented programming systems languages and applications10.1145/2384616.2384623(75-94)Online publication date: 19-Oct-2012
  • (2012)Accelerating interpolantsProceedings of the 10th international conference on Automated Technology for Verification and Analysis10.1007/978-3-642-33386-6_16(187-202)Online publication date: 3-Oct-2012
  • Show More Cited By

View Options

View options

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media