Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Verifying safety properties using separation and heterogeneous abstractions

Published: 09 June 2004 Publication History

Abstract

In this paper, we show how separation (decomposing a verification problem into a collection of verification subproblems) can be used to improve the efficiency and precision of verification of safety properties. We present a simple language for specifying separation strategies for decomposing a single verification problem into a set of subproblems. (The strategy specification is distinct from the safety property specification and is specified separately.) We present a general framework of heterogeneous abstraction that allows different parts of the heap to be abstracted using different degrees of precision at different points during the analysis. We show how the goals of separation (i.e., more efficient verification) can be realized by first using a separation strategy to transform (instrument) a verification problem instance (consisting of a safety property specification and an input program), and by then utilizing heterogeneous abstraction during the verification of the transformed verification problem.

References

[1]
K. Ashcraft and D. Engler. Using programmer-written compiler extensions to catch security holes. In Proc. IEEE Symp. on Security and Privacy, Oakland, CA, May 2002.]]
[2]
T. Ball and S. K. Rajamani. Automatically validating temporal safety properties of interfaces. In SPIN 2001, LNCS 2057, pages 103--122, 2001.]]
[3]
J. Corbett, M. Dwyer, J. Hatcliff, C. Pasareanu, Robby, S. Laubach, and H. Zheng. Bandera: Extracting finite-state models from Java source code. In Proc. Intl. Conf. on Software Eng., pages 439--448, June 2000.]]
[4]
J. Corbett, M. Dwyer, J. Hatcliff, and Robby. Expressing checkable properties of dynamic systems: the bandera specification language. STTT, 4(1):34--56, Oct. 2002.]]
[5]
M. Das, S. Lerner, and M. Seigle. ESP: Path-sensitive program verification in polynomial time. In Proc. Conf. on Prog. Lang. Design and Impl., pages 57--68, June 2002.]]
[6]
R. DeLine and M. Fahndrich. Enforcing high-level protocols in low-level software. In Proc. Conf. on Prog. Lang. Design and Impl., pages 59--69, June 2001.]]
[7]
J. Field, D. Goyal, G. Ramalingam, and E. Yahav. Typestate verification: Abstraction techniques and complexity results. In Proc. of SAS'03, volume 2694 of LNCS, pages 439--462. Springer, June 2003.]]
[8]
C. Flanagan, K. R. M. Leino, M. Lillibridge, G. Nelson, J. B. Saxe, and R. Stata. Extended static checking for java. In Proc. Conf. on Prog. Lang. Design and Impl., pages 234--245, Berlin, June 2002.]]
[9]
J. S. Foster, T. Terauchi, and A. Aiken. Flow-sensitive type qualifiers. In Proc. Conf. on Prog. Lang. Design and Impl., pages 1--12, Berlin, June 2002.]]
[10]
S. Guyer and C. Lin. Client-driven pointer analysis. In Proc. of SAS'03, volume 2694 of LNCS, pages 214--236, June 2003.]]
[11]
T. Lev-Ami and M. Sagiv. TVLA: A framework for Kleene based static analysis. In Proc. Static Analysis Symp., volume 1824 of LNCS, pages 280--301. Springer-Verlag, 2000.]]
[12]
K. L. McMillan. Verification of infinite state systems by compositional model checking. In Proc. of CHARME '99, volume 1703 of LNCS, pages 219--237, 1999.]]
[13]
Microsoft Research. The SLAM project. http://research.microsoft.com/slam/, 2001.]]
[14]
G. Ramalingam, A. Warshavsky, J. Field, D. Goyal, and M. Sagiv. Deriving specialized program analyses for certifying component-client conformance. In Proc. Conf. on Prog. Lang. Design and Impl., volume 37, 5, pages 83--94, June 2002.]]
[15]
T. Reps, M. Sagiv, and A. Loginov. Finite differencing of logical formulas for static analysis. In In Proc. European Symp. on Programming, 2003.]]
[16]
N. Rinetzky and M. Sagiv. Interprocedural shape analysis for recursive programs. LNCS, 2027:133--149, 2001.]]
[17]
M. Sagiv, T. Reps, and R. Wilhelm. Parametric shape analysis via 3-valued logic. ACM Trans. on Prog. Lang. and Systems (TOPLAS), 24(3):217--298, 2002.]]
[18]
R. Shaham, E. Yahav, E. Kolodner, and M. Sagiv. Establishing local temporal heap safety properties with applications to compile-time memory management. In Proc. of SAS'03, volume 2694 of LNCS, pages 483--503, June 2003.]]
[19]
R. E. Strom and S. Yemini. Typestate: A programming language concept for enhancing software reliability. IEEE Trans. Software Eng., 12(1):157--171, 1986.]]
[20]
R. Vallée-Rai, L. Hendren, V. Sundaresan, P. Lam, E. Gagnon, and P. Co. Soot - a java optimization framework. In Proc. of CASCON 1999, pages 125--135, 1999.]]
[21]
S. White, M. Fisher, R. Cattell, G. Hamilton, and M. Hapner. JDBC API tutorial and reference. Addison-Wesley, 1999.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 39, Issue 6
PLDI '04
May 2004
299 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/996893
Issue’s Table of Contents
  • cover image ACM Conferences
    PLDI '04: Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
    June 2004
    310 pages
    ISBN:1581138075
    DOI:10.1145/996841
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 June 2004
Published in SIGPLAN Volume 39, Issue 6

Check for updates

Author Tags

  1. abstract interpretation
  2. program analysis
  3. safety properties
  4. typestate verification
  5. verification

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2012)DexplerProceedings of the ACM SIGPLAN International Workshop on State of the Art in Java Program analysis10.1145/2259051.2259056(27-38)Online publication date: 14-Jun-2012
  • (2009)Shape Analysis and ApplicationsThe Compiler Design Handbook10.1201/9781420043839.ch12(12-1-12-44)Online publication date: 7-Dec-2009
  • (2017)"What's in a name?" going beyond allocation site names in heap analysisACM SIGPLAN Notices10.1145/3156685.309226752:9(92-103)Online publication date: 18-Jun-2017
  • (2017)IDE: efficient and precise alias-aware dataflow analysisProceedings of the ACM on Programming Languages10.1145/31339231:OOPSLA(1-27)Online publication date: 12-Oct-2017
  • (2017)"What's in a name?" going beyond allocation site names in heap analysisProceedings of the 2017 ACM SIGPLAN International Symposium on Memory Management10.1145/3092255.3092267(92-103)Online publication date: 18-Jun-2017
  • (2017)Property Directed Reachability for Proving Absence of Concurrent Modification ErrorsVerification, Model Checking, and Abstract Interpretation10.1007/978-3-319-52234-0_12(209-227)Online publication date: 12-Jan-2017
  • (2014)An Abstract Domain Combinator for Separately Conjoining Memory AbstractionsStatic Analysis10.1007/978-3-319-10936-7_18(285-301)Online publication date: 2014
  • (2011)QVMACM Transactions on Software Engineering and Methodology10.1145/2063239.206324121:1(1-35)Online publication date: 1-Dec-2011
  • (2010)Lazy Runtime Verification for Constraints on Interacting ObjectsProceedings of the 2010 Asia Pacific Software Engineering Conference10.1109/APSEC.2010.36(242-251)Online publication date: 30-Nov-2010
  • (2009)An Intuitive Approach for Specifying Interface ConstraintProceedings of the 2009 Ninth International Conference on Quality Software10.1109/QSIC.2009.62(418-425)Online publication date: 24-Aug-2009
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media