Data-Abstraction Refinement: A Game Semantic Approach

  • Aleksandar Dimovski
  • Dan R. Ghica
  • Ranko Lazić
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3672)

Abstract

This paper presents a semantic framework for data abstraction and refinement for verifying safety properties of open programs. The presentation is focused on an Algol-like programming language that incorporates data abstraction in its syntax. The fully abstract game semantics of the language is used for model-checking safety properties, and an interaction-sequence-based semantics is used for interpreting potentially spurious counterexamples and computing refined abstractions for the next iteration.

Keywords

Model Check Interaction Play Game Semantic Software Model Check Interaction Semantic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

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., Ong, C.-H.L.: Applying game semantics to compositional software modeling and verification. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 421–435. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  2. 2.
    Abramsky, S., Jagadeesan, R., Malacaria, P.: Full abstraction for PCF. Information and Computation 163(2) (2000)Google Scholar
  3. 3.
    Abramsky, S., McCusker, G.: Linearity, sharing and state: a fully abstract game semantics for Idealized Algol with active expressions. In: O’Hearn, P.W., Tennent, R.D. (eds.) Algol-like languages, Birkhaüser (1997)Google Scholar
  4. 4.
    Ball, T., Podelski, A., Rajamani, S.K.: Relative completeness of abstraction refinement for software model checking. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 158–172. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  5. 5.
    Ball, T., Rajamani, S.K.: Debugging System Software via Static Analysis. In: Proceedings of POPL, ACM SIGPLAN Notices, vol. 37(1), pp. 1–3 (2002)Google Scholar
  6. 6.
    Clarke, E.M., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 154–169. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  7. 7.
    Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proceedings of POPL, pp. 238–252 (1977)Google Scholar
  8. 8.
    Cousot, P., Cousot, R.: Modular static program analysis. In: Horspool, R.N. (ed.) CC 2002. LNCS, vol. 2304, p. 159. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  9. 9.
    Dimovski, A., Lazic, R.: CSP representation of game semantics for second-order idealized algol. In: Davies, J., Schulte, W., Barnett, M. (eds.) ICFEM 2004. LNCS, vol. 3308, pp. 146–161. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  10. 10.
    Ghica, D.R., McCusker, G.: The Regular-Language Semantics of Second-order Idealized Algol. Theoretical Computer Science 309(1-3), 469–502 (2003)MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Ghica, D.R., Murawski, A.S.: Angelic semantics of fine-grained concurrency. In: Walukiewicz, I. (ed.) FOSSACS 2004. LNCS, vol. 2987, pp. 211–225. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  12. 12.
    Ghica, D.R., Murawski, A.S., Ong, C.-H.L.: Syntactic control of concurrency. In: Díaz, J., Karhumäki, J., Lepistö, A., Sannella, D. (eds.) ICALP 2004. LNCS, vol. 3142, pp. 683–694. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  13. 13.
    Hankin, C., Malacaria, P.: Program analysis games. ACM Comput. Surv. 31(3) (1999)Google Scholar
  14. 14.
    Harmer, R.: Games and Full Abstraction for Nondeterministic Languages. Ph. D. Thesis Imperial College (1999)Google Scholar
  15. 15.
    Harmer, R., McCusker, G.: A fully abstract game semantics for finite nondeterminism. In: Proceedings of LICS (1999)Google Scholar
  16. 16.
    Henzinger, T.A., Jhala, R., Majumdar, R., Sutre, G.: Software verification with BLAST. In: Ball, T., Rajamani, S.K. (eds.) SPIN 2003. LNCS, vol. 2648, pp. 235–239. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  17. 17.
    Hyland, J.M.E., Ong, C.-H.L.: On full abstraction for PCF: I, II, and III. Information and Computation 163, 285–400 (2000)MATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Laird, J.: A fully abstract game semantics of local exceptions. In: Proceedings of LICS (2001)Google Scholar
  19. 19.
    Malacaria, P., Hankin, C.: Generalised flowcharts and games. In: Proceedings of ICALP (1998)Google Scholar
  20. 20.
    Malacaria, P., Hankin, C.: A new approach to control flow analysis. In: Koskimies, K. (ed.) CC 1998. LNCS, vol. 1383, pp. 95–108. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  21. 21.
    Malacaria, P., Hankin, C.: Non-deterministic games and program analysis: An application to security. In: Proceedings of LICS (1999)Google Scholar
  22. 22.
    Murawski, A., Walukiewicz, I.: Third-Order Idealized Algol with Iteration Is Decidable. In: Myaeng, S.-H., Zhou, M., Wong, K.-F., Zhang, H.-J. (eds.) AIRS 2004. LNCS, vol. 3411, pp. 202–218. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  23. 23.
    Roscoe, W.A.: Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

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

Personalised recommendations