Skip to main content

Towards a Formal Semantics-Based Technique for Interprocedural Slicing

  • Conference paper

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

Abstract

Interprocedural slicing is a technique applied on programs with procedures which relies on how the information is passed at procedure call/return sites. Such a technique computes program slices (i.e. program fragments restricted w.r.t. a given criterion). The existing approaches to interprocedural slicing exploit the particularities of the underlying language semantics in order to compute program slices. In this paper we propose a generic technique for interprocedural slicing. More specifically, our approach works with inferred particularities of a language semantics, given as a rewriting-logic specification, and computes program slices using a term slicing-based algorithm.

This research has been partially supported by MICINN Spanish project StrongSoft (TIN2012-39391-C04-04).

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alpuente, M., Ballis, D., Espert, J., Romero, D.: Backward trace slicing for rewriting logic theories. In: Bjørner, N., Sofronie-Stokkermans, V. (eds.) CADE 2011. LNCS, vol. 6803, pp. 34–48. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  2. Berry, G., Gonthier, G.: The esterel synchronous programming language: Design, semantics, implementation. Sci. Comput. Program (SCP) 19(2), 87–152 (1992)

    Article  MATH  Google Scholar 

  3. Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007)

    MATH  Google Scholar 

  4. Ellison, C., Rosu, G.: An executable formal semantics of c with applications. In: POPL, pp. 533–544 (2012)

    Google Scholar 

  5. Esterel Technologies Scade Language Reference Manual 2011 (2011)

    Google Scholar 

  6. Farzan, A., Chen, F., Meseguer, J., Roşu, G.: Formal analysis of java programs in javaFAN. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 501–505. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  7. Gulwani, S., Tiwari, A.: Computing procedure summaries for interprocedural analysis. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 253–267. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  8. Harman, M., Danicic, S.: Using program slicing to simplify testing. Journal of Software Testing, Verification and Reliability 5, 143–162 (1995)

    Article  Google Scholar 

  9. Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous dataflow programming language lustre. In: Proc. of the IEEE, pp. 1305–1320 (1991)

    Google Scholar 

  10. Hennessy, M.: The Semantics of Programming Languages: An Elementary Introduction Using Structural Operational Semantics. John Wiley & Sons (1990)

    Google Scholar 

  11. Horwitz, S., Reps, T., Binkley, D.: Interprocedural slicing using dependence graphs. In: Conference on Programming Language Design and Implementation, PLDI 1988, pp. 35–46 (1988)

    Google Scholar 

  12. Jhala, R., Majumdar, R.: Path slicing. In: Proc. of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2005, pp. 38–47. ACM Press (2005)

    Google Scholar 

  13. Martí-Oliet, N., Meseguer, J.: Rewriting logic: roadmap and bibliography. Theor. Comput. Sci. 285(2), 121–154 (2002)

    Article  MATH  Google Scholar 

  14. Meseguer, J., Roşu, G.: The rewriting logic semantics project. Theoretical Computer Science 373(3), 213–237 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  15. Nemer, F., Cassé, H., Sainrat, P., Bahsoun, J.P., De Michiel, M.: PapaBench: a Free Real-Time Benchmark. In: WCET 2006 (2006)

    Google Scholar 

  16. Riesco, A.: Using semantics specified in Maude to generate test cases. In: Roychoudhury, A., D’Souza, M. (eds.) ICTAC 2012. LNCS, vol. 7521, pp. 90–104. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  17. Riesco, A., Asăvoae, I.M., Asăvoae, M.: A generic program slicing technique based on language definitions. In: Martí-Oliet, N., Palomino, M. (eds.) WADT 2012. LNCS, vol. 7841, pp. 248–264. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  18. Riesco, A., Verdejo, A., Martí-Oliet, N., Caballero, R.: Declarative debugging of rewriting logic specifications. Journal of Logic and Algebraic Programming (2012)

    Google Scholar 

  19. Şerbănuţă, T., Ştefănescu, G., Roşu, G.: Defining and executing P systems with structured data in K. In: Corne, D.W., Frisco, P., Păun, G., Rozenberg, G., Salomaa, A. (eds.) WMC 2008. LNCS, vol. 5391, pp. 374–393. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  20. Sharir, M., Pnueli, A.: Two approaches to interprocedural data flow analysis. In: Program Flow Analysis, pp. 189–233 (1981)

    Google Scholar 

  21. Silva, J., Chitil, O.: Combining algorithmic debugging and program slicing. In: PPDP, pp. 157–166. ACM Press (2006)

    Google Scholar 

  22. Sridharan, M., Fink, S.J., Bodík, R.: Thin slicing. In: PLDI, pp. 112–122 (2007)

    Google Scholar 

  23. Tian, C., Feng, M., Gupta, R.: Speculative parallelization using state separation and multiple value prediction. In: Proc. of the 2010 International Symposium on Memory Management, ISMM 2010, pp. 63–72. ACM Press (2010)

    Google Scholar 

  24. Tip, F.: A survey of program slicing techniques. J. Prog. Lang. 3(3) (1995)

    Google Scholar 

  25. Verdejo, A., Martí-Oliet, N.: Executable structural operational semantics in Maude. Journal of Logic and Algebraic Programming 67, 226–293 (2006)

    Article  MATH  MathSciNet  Google Scholar 

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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Irina Măriuca Asăvoae .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Asăvoae, I.M., Asăvoae, M., Riesco, A. (2014). Towards a Formal Semantics-Based Technique for Interprocedural Slicing. In: Albert, E., Sekerinski, E. (eds) Integrated Formal Methods. IFM 2014. Lecture Notes in Computer Science(), vol 8739. Springer, Cham. https://doi.org/10.1007/978-3-319-10181-1_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-10181-1_18

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-10180-4

  • Online ISBN: 978-3-319-10181-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics