Formal Modeling of a Slicing Algorithm for Java Event Spaces in PVS

  • Néstor Cataño
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3603)


This paper presents the formalization of an algorithm for slicing Java event spaces in PVS. In short, Java event spaces describe how multi-threaded Java programs operate in memory. We show that Java event spaces can be sliced following an algorithm introduced in previous work and still preserve properties in a subset of CTL. The formalization and proof presented in this paper can be extended to other state-space reduction techniques as long as some sufficient conditions are fulfilled.


Main Memory Event Space Computation Tree Logic Partial Order Relation Original Trace 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Cataño, N.: Slicing event spaces: Towards a Java programs checking framework. In: Arts, T., Fokkink, W. (eds.) Pictorial Information Systems. LNCS, vol. 80. Elsevier, Amsterdam (2003)Google Scholar
  2. 2.
    Cenciarelli, P., Knapp, A., Reus, B., Wirsing, M.: An event-based structural operational semantics of multi-threaded Java. In: Alves-Foss, J. (ed.) Formal Syntax and Semantics of Java. LNCS, vol. 1523, pp. 157–200. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  3. 3.
    Ciardo, G., Marmorstein, R., Siminiceanu, R.: Saturation unbound. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 379–393. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  4. 4.
    Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching time temporal logic. In: Proceedings of Logics of Programs, Yorktown Heights, New York, May 1981. LNCS, pp. 52–71 (1981)Google Scholar
  5. 5.
    Emerson, E.A., Halpern, J.Y.: Decision procedures and expressiveness in the temporal logic of branching time. In: Proceedings of 14th Symposium on Theory of Computing (STOC 1982), San Francisco, CA, pp. 169–180. ACM, New York (1982)Google Scholar
  6. 6.
    Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems, vol. 1032, p. 142. Springer, Heidelberg (1996)Google Scholar
  7. 7.
    Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 2nd edn. The Java Series. Addison-Wesley, Reading (2000)Google Scholar
  8. 8.
    Owre, S., Shankar, N., Rushby, J.M., Stringer-Calvert, D.W.J.: PVS Language Reference. Computer Science Laboratory, Menlo Park (2001)Google Scholar
  9. 9.
    Pugh, W.: Fixing the Java memory model. In: Proceedings of the ACM 1999 conference on Java Grande, pp. 89–98. ACM Press, New York (1999)CrossRefGoogle Scholar
  10. 10.
    Reus, B., Hein, T.: Towards a machine-checked Java specification book. In: Aagaard, M.D., Harrison, J. (eds.) TPHOLs 2000. LNCS, vol. 1869, pp. 480–497. Springer, Heidelberg (2000)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Néstor Cataño
    • 1
  1. 1.Department of Computer ScienceThe University of YorkU.K

Personalised recommendations