A monadic program slicer

  • Authors:
  • Yingzhou Zhang;Jose Emilio Labra Gayo;Agustín Cernuda del Río

  • Affiliations:
  • Nanjing Univ. of Posts and Telecommunications, Nanjing, China;Univ. of Oviedo, Oviedo, Spain;Univ. of Oviedo, Oviedo, Spain

  • Venue:
  • ACM SIGPLAN Notices
  • Year:
  • 2006

Quantified Score

Hi-index 0.03

Visualization

Abstract

Program slicing is an important decomposition technique. It has been widely used in many software activities, such as software analyzing, understanding, debugging, testing, and maintenance. The current slicing methods and tools, however, are monolithic, and mainly based on program or system dependence graph. This paper presents a novel formal tool for program slicing. It abstracts the computation of program slicing as a language-independent slice monad transformer, which can be applied to the semantic descriptions of the program in a modular way, forming the corresponding slicing algorithms. Such algorithms allow program slices to be computed directly on abstract syntax, with no need to explicitly construct intermediate structures such as dependence graphs or to record an execution history. It has reusability and language-flexibility properties in comparison with the current program slicing methods/tools.