Abstract

The notion of a program slice, originally introduced by Mark Weiser, is a fundamental operation for addressing many software-engineering problems, including program understanding, debugging, maintenance, testing, and merging. A slice determines either all program elements that might affect a given element (“backward slicing”) or all elements that could be affected by a given element (“forward slicing”). Jackson and Rollins introduced a related operation, called program chopping, which is a kind of “filtered” slice: Chopping answers questions of the form “What are all the program elements v that serve to transmit effects from a given source element s to a given target element t?” However, Jackson and Rollins defineonly a limited form of chopping: Among other restrictions, they impose the restriction that s and t be in the same procedure. This paper solves the unrestricted interprocedural chopping problem, as well as a variety of other useful variants of interprocedural chopping.

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.