Skip to main content

Incremental Slicing

  • Conference paper
Formal Methods and Software Engineering (ICFEM 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4260))

Included in the following conference series:

Abstract

Slicing is one of a number of techniques for reducing the state space of specifications during verification. Unlike techniques as e.g. data abstraction slicing is precise: the slice exactly reflects the property to be verified. This necessitates keeping large parts of the specification.

In this paper we relax this requirement and instead compute slices overapproximating the behaviour of the specification. This can lead to substantially smaller slices. We consequently adapt the technique of abstraction refinement to slicing as to improve the slice once a false negative is detected. Slicing thus becomes an incremental method: it starts with a small, minimal part of the specification and successively adds further parts until either the property under interest holds on the slice or a real counterexample is found. We show correctness and termination of our technique.

This work was partly supported by the German Research Council (DFG) as part of the Transregional Collaborative Research Center “Automatic Verification and Analysis of Complex Systems” (SFB/TR 14 AVACS, www.avacs.org).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Brückner, I., Wehrheim, H.: Slicing an Integrated Formal Method for Verification. In: Lau, K.-K., Banach, R. (eds.) ICFEM 2005. LNCS, vol. 3785, pp. 360–374. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  2. Chaki, S., Clarke, E.M., Ouaknine, J., Sharygina, N., Sinha, N.: State/event-based software model checking. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, pp. 128–147. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  3. Clarke, E., Grumberg, O., Peled, D.: Model checking. MIT Press, Cambridge (1999)

    Google Scholar 

  4. Clarke, E.M., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement for symbolic model checking. JACM 50(5), 752–794 (2003)

    Article  MathSciNet  Google Scholar 

  5. Clarke, E.M., Grumberg, O., Long, D.E.: Model checking and abstraction. In: 19th ACM POPL (1992)

    Google Scholar 

  6. Edelkamp, S., Lluch-Lafuente, A., Leue, S.: Directed model-checking in HSF-SPIN. In: Dwyer, M.B. (ed.) SPIN 2001. LNCS, vol. 2057, pp. 57–79. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  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 and Hall, Boca Raton (1997)

    Google Scholar 

  8. Hatcliff, J., Dwyer, M., Zheng, H.: Slicing software for model construction. Higher-order and Symbolic Computation 13(4), 315–353 (2000)

    Article  MATH  Google Scholar 

  9. Henzinger, T.A., Jhala, R., Majumdar, R., Sutre, G.: Lazy abstraction. In: POPL, pp. 58–70 (2002)

    Google Scholar 

  10. Ip, C., Dill, D.: Better verification through symmetry. In: International Conference on Computer Hardware Description Languages (1993)

    Google Scholar 

  11. Loiseaux, C., Graf, S., Sifakis, J., Bouajjani, A., Bensalem, S.: Property preserving abstractions for the verification of concurrent systems. Formal methods in system design 6, 1–35 (1995)

    Article  Google Scholar 

  12. Manna, Z., Pnueli, A.: The temporal logic of reactive and concurrent systems (Specification). Springer, Heidelberg (1991)

    MATH  Google Scholar 

  13. 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)

    Article  MATH  Google Scholar 

  14. Peled, D.: All from one, one for all: On model checking using representatives. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697. Springer, Heidelberg (1993)

    Google Scholar 

  15. Tip, F.: A survey of program slicing techniques. Journal of programming languages 3(3) (1995)

    Google Scholar 

  16. Shankar, N., Ganesh, V., Saidi, H.: Slicing SAL. Technical report, SRI International (1999), http://theory.stanford.edu/

  17. Weiser, M.: Program slicing. In: Proceedings of the 5th international conference on Software engineering, pp. 439–449. IEEE Press, Los Alamitos (1981)

    Google Scholar 

  18. Weiser, M.: Programmers use slices when debugging. Communications of the ACM 25(7), 446–452 (1982)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wehrheim, H. (2006). Incremental Slicing. In: Liu, Z., He, J. (eds) Formal Methods and Software Engineering. ICFEM 2006. Lecture Notes in Computer Science, vol 4260. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11901433_28

Download citation

  • DOI: https://doi.org/10.1007/11901433_28

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-47460-9

  • Online ISBN: 978-3-540-47462-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics