Skip to main content

On Slicing of Programs with Input Statements

  • Conference paper
Theoretical Aspects of Computing – ICTAC 2013 (ICTAC 2013)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8049))

Included in the following conference series:

  • 570 Accesses

Abstract

This paper studies program slicing in the presence of input statements. If unnecessary input statements are sliced away, the remaining input statements are assumed to read the same data as within the entire program. For specifying the relation of one program being a slice of another under this assumption, one needs a formalism for treating “stages of computation”. This paper presents an approach where stages of computation, called run points, are encoded by rational numbers. Run points of the slice and the corresponding run points of the whole program are encoded by equal numbers. We adapt a program analysis used by a classic slicing algorithm to our setting, in order to prove correctness of the slicing algorithm.

This work was partially supported by the Estonian Science Foundation grant no. 7543, from research theme IUT2-1 and by European Regional Development Fund through the Estonian Center of Excellence in Computer Science (EXCS).

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Barraclough, R.W., Binkley, D., Danicic, S., Harman, M., Hierons, R.M., Kiss, Á., Laurence, M., Ouarbya, L.: A trajectory-based strict semantics for program slicing. Theoretical Computer Science 410, 1372–1386 (2010)

    Article  MathSciNet  Google Scholar 

  2. Binkley, D.W., Gallagher, K.B.: Program slicing. Advances in Computers 43, 1–50 (1996)

    Article  Google Scholar 

  3. Collard, J.-F.: Reasoning about Program Transformations. Springer (2003)

    Google Scholar 

  4. Cousot, P.: Constructive design of a hierarchy of semantics of a transition system by abstract interpretation. Electronic Notes in Theoretical Computer Science 6, 77–102 (1997)

    Article  MathSciNet  Google Scholar 

  5. Danicic, S., Harman, M., Howroyd, J., Ouarbya, L.: A non-standard semantics for program slicing and dependence analysis. Journal of Logic and Algebraic Programming 72, 191–206 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  6. Giacobazzi, R., Mastroeni, I.: Non-standard semantics for program slicing. Higher-Order Symbolic Computation 16, 297–339 (2003)

    Article  MATH  Google Scholar 

  7. Hatcliff, J., Corbett, J., Dwyer, M.B., Sokolowski, S., Zheng, H.: A formal study of slicing for multi-threaded programs with JVM concurrency primitives. In: Cortesi, A., Filé, G. (eds.) SAS 1999. LNCS, vol. 1694, pp. 1–18. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  8. Kennaway, R., Klop, J.W., Sleep, R., de Vries, F.-J.: Transfinite reductions in orthogonal term rewriting systems. Information and Computation 119(1), 18–38 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  9. Nestra, H.: Transfinite semantics in program slicing. Proceedings of the Estonian Academy of Sciences: Engineering 11(4), 313–328 (2005)

    Google Scholar 

  10. Nestra, H.: Fractional semantics. In: Johnson, M., Vene, V. (eds.) AMAST 2006. LNCS, vol. 4019, pp. 278–292. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  11. Nestra, H.: Iteratively Defined Transfinite Trace Semantics and Program Slicing with respect to Them. PhD thesis, University of Tartu, 119 p. (2006)

    Google Scholar 

  12. Nestra, H.: Transfinite semantics in the form of greatest fixpoint. Journal of Logic and Algebraic Programming 78, 573–592 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  13. Reps, T., Turnidge, T.: Program specialization via program slicing. In: Danvy, O., Thiemann, P., Glück, R. (eds.) Dagstuhl Seminar 1996. LNCS, vol. 1110, pp. 409–429. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  14. Reps, T., Yang, W.: The semantics of program slicing and program integration. In: Díaz, J., Orejas, F. (eds.) TAPSOFT 1989. LNCS, vol. 352, pp. 360–374. Springer, Heidelberg (1989)

    Google Scholar 

  15. Sivagurunathan, Y., Harman, M., Danicic, S.: Slicing, I/O and the implicit state. In: Kamkar, M. (ed.) 3rd International Workshop on Automated Debugging. Linköping Electronic Articles in Computer and Information Science, vol. 2, pp. 59–67 (1997)

    Google Scholar 

  16. Tip, F.: A survey of program slicing techniques. Journal of Programming Languages 3(3), 121–181 (1995)

    Google Scholar 

  17. Ward, M., Zedan, H.: Slicing as a program transformation. ACM Transactions on Programming Languages and Systems 29(2), 1–53 (2007)

    Article  Google Scholar 

  18. Ward, M., Zedan, H.: Deriving a slicing algorithm via FermaT transformations. IEEE Transactions on Software Engineering 37(1), 24–47 (2011)

    Article  Google Scholar 

  19. Weiser, M.: Program slicing. In: ICSE 1981 Proceedings of the 5th International Conference on Software Engineering, pp. 439–449 (1981)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Nestra, H. (2013). On Slicing of Programs with Input Statements. In: Liu, Z., Woodcock, J., Zhu, H. (eds) Theoretical Aspects of Computing – ICTAC 2013. ICTAC 2013. Lecture Notes in Computer Science, vol 8049. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39718-9_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-39718-9_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-39717-2

  • Online ISBN: 978-3-642-39718-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics