Slicing Object-Z Specifications for Verification

  • Ingo Brückner
  • Heike Wehrheim
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3455)


Slicing is the activity of reducing a program or a specification with respect to a given condition (the slicing criterion) such that the condition holds on the full program if and only if it holds on the reduced program. Originating from program analysis the entity to be sliced is usually a program and the slicing criterion a value of a variable at a certain program point. In this paper we present an approach to slicing Object-Z specifications with temporal logic formulae as slicing criteria and show the correctness of our approach. The underlying motivation is the goal to substantially reduce the size of the specification and subsequently facilitate verification of temporal logic properties.


Model Check Temporal Logic Atomic Proposition Kripke Structure Control Dependency 
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.
    Brückner, I., Wehrheim, H.: Slicing Object-Z specifications for verification. Technical Report 3, SFB/TR 14 AVACS (2005),
  2. 2.
    Chang, D., Richardson, D.: Static and Dynamic Specification Slicing. In: ACM SIGSOFT international symposium on Software testing and analysis, pp. 138–153. ACM, New York (1994)Google Scholar
  3. 3.
    Clarke, E., Grumberg, O., Peled, D.: Model checking. MIT Press, Cambridge (1999)Google Scholar
  4. 4.
    Derrick, J., Smith, G.: Linear temporal logic and Z refinement. In: Rattray, C., Maharaj, S., Shankland, C. (eds.) AMAST 2004. LNCS, vol. 3116, pp. 117–131. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  5. 5.
    Duke, R., Rose, G.: Formal object-oriented specification using Object-Z. Macmillan, Basingstoke (2000)Google Scholar
  6. 6.
    Duke, R., Rose, G., Smith, G.: Object-Z: A specification language advocated for the description of standards. Computer Standards and Interfaces 17, 511–533 (1995)CrossRefGoogle Scholar
  7. 7.
    Fischer, C.: CSP-OZ: A combination of Object-Z and CSP. In: Bowman, H., Derrick, J. (eds.) Formal Methods for Open Object-Based Distributed Systems (FMOODS 1997), vol. 2, pp. 423–438. Chapman & Hall, Boca Raton (1997)Google Scholar
  8. 8.
    Hatcliff, J., Dwyer, M., Zheng, H.: Slicing software for model construction. Higher-order and Symbolic Computation 13(4), 315–353 (2000)zbMATHCrossRefGoogle Scholar
  9. 9.
    Hoenicke, J., Olderog, E.-R.: Combining Specification Techniques for Processes, Data and Time. In: Butler, M., Petre, L., Sere, K. (eds.) IFM 2002. LNCS, vol. 2335, pp. 245–266. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  10. 10.
    Millett, L., Teitelbaum, T.: Issues in slicing PROMELA and its applications to model checking, protocol understanding, and simulation. Software Tools for Technology Transfer 2(4), 343–349 (2000)zbMATHCrossRefGoogle Scholar
  11. 11.
    Oda, T., Araki, K.: Specification slicing in formal methods of software development. In: Proceedings of the Seventeenth Annual International Computer Software & Applications Conference, pp. 313–319. IEEE Computer Society Press, Los Alamitos (1993)Google Scholar
  12. 12.
    Skakkebæk, J.U.: Liveness and fairness in duration calculus. In: Jonsson, B., Parrow, J. (eds.) CONCUR 1994. LNCS, vol. 836, pp. 283–298. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  13. 13.
    Smith, G.: The Object-Z Specification Language. Kluwer Academic Publishers, Dordrecht (2000)zbMATHGoogle Scholar
  14. 14.
    Smith, G., Winter, K.: Proving Temporal Properties of Z specifications Using Abstraction. In: Bert, D., Bowen, J.P., King, S. (eds.) ZB 2003. LNCS, vol. 2651, pp. 260–279. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  15. 15.
    Tip, F.: A survey of program slicing techniques. Journal of programming languages 3(3) (1995)Google Scholar
  16. 16.
    Wehrheim, H.: Inheritance of Temporal Logic Properties. In: Najm, E., Nestmann, U., Stevens, P. (eds.) FMOODS 2003. LNCS, vol. 2884, pp. 79–93. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  17. 17.
    Wehrheim, H.: Preserving Properties under Change. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2003. LNCS, vol. 3188, pp. 330–343. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  18. 18.
    Weiser, M.: Programmers use slices when debugging. Communications of the ACM 25(7), 446–452 (1982)CrossRefGoogle Scholar
  19. 19.
    Weiser, M.: Program slicing. In: Proceedings of the 5th international conference on Software engineering, pp. 439–449. IEEE Press, Los Alamitos (1981)Google Scholar
  20. 20.
    Winter, K., Smith, G.: Compositional Verification for Object-Z. In: Bert, D., Bowen, J.P., King, S. (eds.) ZB 2003. LNCS, vol. 2651, pp. 280–299. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  21. 21.
    Chaochen, Z., Hoare, C.A.R., Ravn, A.P.: A Calculus of Durations. Information Processing Letters 40(5), 269–276 (1991)zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Ingo Brückner
    • 1
  • Heike Wehrheim
    • 2
  1. 1.Department für InformatikUniversität OldenburgOldenburgGermany
  2. 2.Institut für InformatikUniversität PaderbornPaderbornGermany

Personalised recommendations