Data-abstraction refinement: a game semantic approach

  • Adam Bakewell
  • Aleksandar Dimovski
  • Dan R. Ghica
  • Ranko Lazić
Regular Paper
  • 44 Downloads

Abstract

This paper presents a semantic framework for data abstraction and refinement for verifying safety properties of open programs with integer types. The presentation is focused on an Algol-like programming language that incorporates data abstraction in its type system. We use a fully abstract game semantics in the style of Hyland and Ong and a more intensional version of the model that tracks nondeterminism introduced by abstraction in order to detect false counterexamples. These theoretical developments are incorporated in a new model-checking tool, Mage, which implements efficiently the data-abstraction refinement procedure using symbolic and on-the-fly techniques.

Keywords

Software model checking Abstraction refinement Game semantics 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abramsky, S., Ghica, D.R., Murawski, A.S., Luke Ong, C.-H.: Applying game semantics to compositional software modeling and verification. In: TACAS, pp. 421–435 (2004)Google Scholar
  2. 2.
    Abramsky, S., McCusker, G.: Linearity, sharing and state: a fully abstract game semantics for Idealized Algol with active expressions. Electr. Notes Theor. Comput. Sci. 3 (1996)Google Scholar
  3. 3.
    Bakewell, A., Ghica, D.R.: On-the-fly techniques for game-based software model checking. In: TACAS, pp. 78–92 (2008)Google Scholar
  4. 4.
    Ball, T., Rajamani, S.K.: The SLAM toolkit. In: CAV, pp. 260–264 (2001)Google Scholar
  5. 5.
    Cousot, P., Cousot, R.: Modular static program analysis. In: CC, pp.159–178 (2002)Google Scholar
  6. 6.
    Cousot P.: Abstract interpretation. ACM Comput. Surv. 28(2), 324–328 (1996)CrossRefGoogle Scholar
  7. 7.
    Dimovski, A., Ghica, D.R., Lazić, R.: Data-abstraction refinement: a game semantic approach. In: SAS, pp. 102–117 (2005)Google Scholar
  8. 8.
    Dimovski, A., Ghica, D.R., Lazić, R.: A counterexample-guided refinement tool for open procedural programs. In: SPIN, pp. 288–292 (2006)Google Scholar
  9. 9.
    Dimovski, A., Lazić R.: Assume-guarantee software verification based on game semantics. In: ICFEM. pp. 529–548 (2006)Google Scholar
  10. 10.
    Ghica, D.R., Bakewell, A.: Clipping: a semantics-directed syntactic approximation. In: LICS (2009, forthcoming)Google Scholar
  11. 11.
    Ghica, D.R.: Applications of game semantics: from software analysis to hardware synthesis. In: LICS, pp. 17–26 (2009)Google Scholar
  12. 12.
    Ghica, D.R., McCusker, G.: Reasoning about Idealized Algol using regular languages. In: ICALP, pp. 103–115 (2000)Google Scholar
  13. 13.
    Ghica D.R., McCusker G.: The regular-language semantics of second-order Idealized Algol. Theor. Comput. Sci 309(1–3), 469–502 (2003)MATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Ghica, D.R., Murawski, A.S.: Compositional model extraction for higher-order concurrent programs. In: TACAS, pp. 303–317 (2006)Google Scholar
  15. 15.
    Ghica D.R., Murawski A.: Angelic semantics of fine-grained concurrency. Ann. Pure Appl. Logic 151(2–3), 89–114 (2008)MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Ghica D.R., Murawski A.S., Luke Ong C.-H.: Syntactic control of concurrency. Theor. Comput. Sci. 350(2–3), 234–251 (2006)MATHCrossRefGoogle Scholar
  17. 17.
    Henzinger, T.A., Jhala, R., Majumdar, R.: The BLAST software verification system. In: SPIN, pp. 25–26 (2005)Google Scholar
  18. 18.
    Henzinger, T.A., Jhala, R., Majumdar, R., Sutre, G.: Software verification with BLAST. In: SPIN, pp. 235–239 (2003)Google Scholar
  19. 19.
    Hyland, J.M.E., Luke Ong, C.-H.: Pi-calculus, dialogue games and PCF. In: FPCA, pp. 96–107 (1995)Google Scholar
  20. 20.
    Hopkins, D., Luke Ong, C.-H.: Homer: a higher-order observational equivalence model checker. In: CAV, pp. 654–660 (2009)Google Scholar
  21. 21.
    Hopcroft J.E., Ullman J.D.: Introduction to Automata Theory, Languages and Computation. Addison-Wesley, Reading (1979)MATHGoogle Scholar
  22. 22.
    Laird, J.: Full abstraction for functional languages with control. In: LICS, pp. 58–67 (1997)Google Scholar
  23. 23.
    Malacaria, P., Hankin, C.: Generalised flowcharts and games. In: ICALP, pp. 363–374 (1998)Google Scholar
  24. 24.
    Luke Ong, C.-H.: Observational equivalence of 3rd-order Idealized Algol is decidable. In: LICS, pp. 245–256 (2002)Google Scholar
  25. 25.
    Reynolds, J.C.: The essence of Algol. In: Proceedings of the 1981 International Symposium on Algorithmic Languages, pp. 345–372. North-Holland, Amsterdam (1981)Google Scholar
  26. 26.
    Roscoe A.W.: Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1998)Google Scholar

Copyright information

© Springer-Verlag 2010

Authors and Affiliations

  • Adam Bakewell
    • 2
  • Aleksandar Dimovski
    • 1
  • Dan R. Ghica
    • 2
  • Ranko Lazić
    • 1
  1. 1.Department of Computer ScienceUniversity of WarwickCoventryUK
  2. 2.School of Computer ScienceUniversity of BirminghamBirminghamUK

Personalised recommendations