Tukra: An Abstract Program Slicing Tool

Raju Halder, Agostino Cortesi

Abstract

We introduce Tukra, a tool that allows the practical evaluation of abstract program slicing algorithms. The tool exploits the notions of statement relevancy, semantic data dependences and conditional dependences. The combination of these three notions allows Tukra to refine traditional syntax-based program dependence graphs, generating more accurate slices. We provide the architecture of the tool, some snapshots describing how it works, and some preliminary experimental results giving evidence of the accuracy improvements it supports.

References

  1. Agrawal, H. and Horgan, J. R. (1990). Dynamic program slicing. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 7890), pages 246-256, White Plains, New York. ACM Press.
  2. Bhattacharya, S. (2011). Property Driven Program Slicing and Watermarking in the Abstract Interpretation Framework. PhD thesis, Università Ca' Foscari Venezia.
  3. Binkley, D., Danicic, S., Gyimóthy, T., Harman, M., Kiss, A., and Korel, B. (2006). A formalisation of the relationship between forms of program slicing. Science of Computer Programming, 62(3):228-252.
  4. Cortesi, A. and Halder, R. (2010). Dependence condition graph for semantics-based abstract program slicing. In Proceedings of the 10th International Workshop on Language Descriptions Tools and Applications (LDTA 7810), pages 4:1-4:6, Paphos, Cyprus. ACM Press.
  5. Horwitz, S., Reps, T., and Binkley, D. (1990). Interprocedural slicing using dependence graphs. ACM Transactions on Programming Languages and Systems, 12(1):26-60.
  6. Korel, B. and Laski, J. (1988). Dynamic program slicing. Information Processing Letters, 29(3):155-163.
  7. Mastroeni, I. and Nikolic, D. (2010). Abstract program slicing: From theory towards an implementation. In Proceedings of the 12th International Conference on Formal Engineering Methods, pages 452-467, China. Springer LNCS, Volume 6447.
  8. Mastroeni, I. and Zanardini, D. (2008). Data dependencies and program slicing: from syntax to abstract semantics. In Proceedings of the ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, pages 125-134, San Francisco, California, USA. ACM Press.
  9. Sarkar, V. (1991). Automatic partitioning of a program dependence graph into parallel tasks. IBM Journal of Research and Development, 35(5-6):779-804.
  10. Seok Hong, H., Lee, I., and Sokolsky, O. (2005). Abstract slicing: A new approach to program slicing based on abstract interpretation and model checking. In Proceedings of the 5th International Workshop on Source Code Analysis and Manipulation, pages 25-34, Hungary. IEEE CS.
  11. Sinha, S., Harrold, M. J., and Rothermel, G. (1999). System-dependence-graph-based slicing of programs with arbitrary interprocedural control flow. In Proceedings of the 21st International Conference on Software Engineering (ICSE 7899), pages 432-441, Los Angeles, CA, USA. ACM Press.
  12. Sukumaran, S., Sreenivas, A., and Metta, R. (2010). The dependence condition graph: Precise conditions for dependence between program points. Computer Languages, Systems & Structures, 36(1):96-121.
  13. Weiser, M. (1984). Program slicing. IEEE Transactions on Software Engineering, SE-10(4):352-357.
  14. Zanardini, D. (2008). The semantics of abstract program slicing. In Proceedings of the International Working Conference on Source Code Analysis and Manipulation, pages 89-100, Beijing, China. IEEE Press.
Download


Paper Citation


in Harvard Style

Halder R. and Cortesi A. (2012). Tukra: An Abstract Program Slicing Tool . In Proceedings of the 7th International Conference on Software Paradigm Trends - Volume 1: ICSOFT, ISBN 978-989-8565-19-8, pages 178-183. DOI: 10.5220/0004069801780183


in Bibtex Style

@conference{icsoft12,
author={Raju Halder and Agostino Cortesi},
title={Tukra: An Abstract Program Slicing Tool},
booktitle={Proceedings of the 7th International Conference on Software Paradigm Trends - Volume 1: ICSOFT,},
year={2012},
pages={178-183},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004069801780183},
isbn={978-989-8565-19-8},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 7th International Conference on Software Paradigm Trends - Volume 1: ICSOFT,
TI - Tukra: An Abstract Program Slicing Tool
SN - 978-989-8565-19-8
AU - Halder R.
AU - Cortesi A.
PY - 2012
SP - 178
EP - 183
DO - 10.5220/0004069801780183