Abstract

Monad transformers, each representing a single notion of computation, can be designed once and for all. In this paper we abstract the computation of program slicing as slice monad transformer, which allows program slices to be computed on any type of computation represented by an arbitrary monad. We define and verify the slice monad transformer. With the use of the slice monad transformer, we propose a new approach for program slicing based on modular monadic semantics, called modular monadic slicing. It could compute slices directly on abstract syntax, without explicit construction of intermediate structures such as dependence graphs in slicers. Moreover, it could have excellent flexibility and reusability properties.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call