skip to main content
10.1007/11513988_8guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Abstraction for falsification

Published: 06 July 2005 Publication History

Abstract

Abstraction is traditionally used in the process of verification. There, an abstraction of a concrete system is sound if properties of the abstract system also hold in the concrete system. Specifically, if an abstract state a satisfies a property ψ then all the concrete states that correspond to a satisfy ψ too. Since the ideal goal of proving a system correct involves many obstacles, the primary use of formal methods nowadays is falsification. There, as in testing, the goal is to detect errors, rather than to prove correctness. In the falsification setting, we can say that an abstraction is sound if errors of the abstract system exist also in the concrete system. Specifically, if an abstract state a violates a property ψ, then there exists a concrete state that corresponds to a and violates ψ too.
An abstraction that is sound for falsification need not be sound for verification. This suggests that existing frameworks for abstraction for verification may be too restrictive when used for falsification, and that a new framework is needed in order to take advantage of the weaker definition of soundness in the falsification setting.
We present such a framework, show that it is indeed stronger (than other abstraction frameworks designed for verification), demonstrate that it can be made even stronger by parameterizing its transitions by predicates, and describe how it can be used for falsification of branching-time and linear-time temporal properties, as well as for generating testing goals for a concrete system by reasoning about its abstraction.

References

[1]
T. Ball. A theory of predicate-complete test coverage and generation. In 3rd International Symposium on Formal Methods for Components and Objects, 2004.
[2]
J. Benthem. Languages in actions: categories, lambdas and dynamic logic. Studies in Logic, 130, 1991.
[3]
G. Bruns and P. Godefroid. Model checking partial state spaces with 3-valued temporal logics. In Computer Aided Verification, pages 274-287, 1999.
[4]
G. Bruns and P. Godefroid. Model checking with 3-valued temporal logics. In 31st International Colloquium on Automata, Languages and Programming, volume 3142 of Lecture Notes in Computer Science, pages 281-293, 2004.
[5]
T. Ball, O. Kupferman, and G. Yorsh. Abstraction for falsification. Technical Report MSR-TR-2005-50, Microsoft Research, 2005.
[6]
P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for the static analysis of programs by construction or approximation of fixpoints. In POPL 77: Principles of Programming Languages, pages 238-252. ACM, 1977.
[7]
E.M. Clarke and E.A. Emerson. Design and synthesis of synchronization skeletons using branching time temporal logic. In Proc. Workshop on Logic of Programs, volume 131 of Lecture Notes in Computer Science, pages 52-71. Springer-Verlag, 1981.
[8]
D. Dams, R. Gerth, and O. Grumberg. Abstract interpretation of reactive systems. ACM Trans. Program. Lang. Syst., 19(2):253-291, 1997.
[9]
E.W. Dijksta. A Discipline of Programming. Prentice-Hall, 1976.
[10]
D. Dams and K. S. Namjoshi. Automata as abstractions. In VMCAI 2005, Paris, 2005. to appear, LNCS, Springer-Verlag.
[11]
R. Fraer, G. Kamhi, B. Ziv, M. Vardi, and L. Fix. Prioritized traversal: efficient reachability analysis for verication and falsification. In Proc. 12th Conference on Computer Aided Verication, volume 1855 of Lecture Notes in Computer Science, pages 389-402, Chicago, IL, USA, July 2000. Springer-Verlag.
[12]
P. Godefroid, M. Huth, and R. Jagadeesan. Abstraction-based model checking using modal transition systems. In Proceedings of CONCUR'2001 (12th International Conference on Concurrency Theory), volume 2154 of Lecture Notes in Computer Science, pages 426-440. Springer-Verlag, 2001.
[13]
P. Godefroid and R. Jagadeesan. Automatic abstraction using generalized model checking. In Computer Aided Verification, pages 137-150, 2002.
[14]
O. Grumberg, F. Lerda, O. Strichman, and M. Theobald. Proof-guided underapproximation-widening for multi-process systems. In POPL, pages 122- 131, 2005.
[15]
S. Graf and H. Saidi. Construction of abstract state graphs with PVS. In CAV 97: Computer-aided Verification, LNCS 1254, pages 72-83. Springer-Verlag, 1997.
[16]
M. Huth, R. Jagadeesan, and D. Schmidt. Model checking partial state spaces with 3-valued temporal logics. In ESOP, pages 155-169, 2001.
[17]
S. C. Kleene. Introduction to Metamathematics. North Holland, 1987.
[18]
D. Kozen. Results on the propositional µ-calculus. Theoretical Computer Science, 27:333-354, 1983.
[19]
O. Kupferman and M.Y. Vardi. Model checking of safety properties. Formal methods in System Design, 19(3):291-314, November 2001.
[20]
K.G. Larsen and G.B. Thomsen. A modal process logic. In Proc. 3th Symp. on Logic in Computer Science, Edinburgh, 1988.
[21]
K. G. Larsen and L. Xinxin. Equation solving using modal transition systems. In LICS, pages 108-117, 1990.
[22]
C. S. Pasareanu, M. B. Dwyer, and W. Visser. Finding feasible counterexamples when model checking abstracted java programs. In TACAS, pages 284-298, 2001.
[23]
J.P. Queille and J. Sifakis. Specification and verification of concurrent systems in Cesar. In Proc. 5th International Symp. on Programming, volume 137 of Lecture Notes in Computer Science, pages 337-351. Springer-Verlag, 1981.
[24]
S. Shoham and O. Grumberg. A game-based framework for CTL counterexamples and 3-valued abstraction-refinement. In Computer Aided Verification, pages 275- 287, 2003.
[25]
S. Shoham and O. Grumberg. Monotonic abstraction-refinement for CTL. In Tools and Algorithms for Construction and Analysis of Systems (TACAS), volume 2988 of Lecture Notes in Computer Science, pages 546-560. Springer-Verlag, 2004.
[26]
H.B. Sipma. Diagram-based Verification of Discrete, Real-time and Hybrid Systems. PhD thesis, Stanford University, Stanford, California, 1999.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
CAV'05: Proceedings of the 17th international conference on Computer Aided Verification
July 2005
564 pages
ISBN:3540272313

Sponsors

  • Jasper Design Automation: Jasper Design Automation
  • Weizmann Institute: Weizmann Institute
  • Microsoft: Microsoft
  • Intel: Intel
  • IBM: IBM

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 06 July 2005

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media