Y. Zhang, B. Xu, and J. Qian (PRC)
Modular Monadic Semantics, Program Slicing,
Concurrency, Slice Monad Transformer
Program slicing is a useful analysis technique for programs
with many software engineering applications. This paper
proposes a new approach for program slicing, called
modular monadic slicing because it is based on modular
monadic semantics. It first abstracts the computation of
program slicing as a language-independence object: slice
monad transformer. It then discusses modular monadic
static slice algorithm in detail, allowing static slices to be
computed directly on abstract syntax, without the needs to
explicitly construct intermediate structures such as
dependence graphs or to record an execution history.
Finally, it considers static slicing for concurrent programs
with the help of an existing concurrent monad transformer.
It concludes that our algorithm has very simplicity and
excellent flexibility properties comparing with the
existing slicing algorithms.