Abstract

Program slicing is an effective technique for narrowing the focus of attention to the relevant parts of a program. The dynamic slice contains only those statements that actually affect the variables in the slicing criterion, thus it is useful in software debugging, testing and maintenance. This paper proposes a new approach to dynamically slice object-oriented programs (OOPs) based on modular monadic semantics. It abstracts the computation of program slicing as a language-independent object, slice monad transformer, which can be applied to semantic descriptions of the program analyzed in a modular way, forming the corresponding monadic slicing algorithms. Such algorithms allow dynamic slices to be computed directly on abstract syntax, with no needs to explicitly construct intermediate structures such as dependence graphs or to record an execution history. Simultaneously, it could describe the basic object-oriented (OO) features such as encapsulation, inheritance and dynamic binding well. It has excellent reusability and language-flexibility properties comparing with the current dynamic slicing methods for OOPs.

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

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.