Affiliation:
1. National Institute of Technology, Odisha, India
Abstract
Program slicing is a technique to decompose programs depending on control flow and data flow amongst several lines of code in a program. Conditioned slicing is a generalization of static slicing and dynamic slicing. A variable, the desired program point, and a condition of interest form a slicing criterion for conditioned slicing. This paper proposes an approach to calculate conditioned slices for programs containing multiple procedures. The approach is termed Node-Marking Conditioned Slicing (NMCS) algorithm. In this approach, first and foremost step is to build an intermediate symbolization of a given program code and the next step is to develop an algorithm for finding out conditioned slices. The dependence graph, termed System Dependence Graph (SDG), is used to symbolize intermediate presentation. After constructing SDG, the NMCS algorithm chooses nodes that satisfy a given condition by the process of marking and unmarking. The algorithm also finds out conditioned slices for every variable at every statement during the process. NMCS algorithm employs a stack to save call context of a method. Few edges in SDG are labeled to identify the statement that calls a method. The proposed algorithm is implemented, and its performance is tested with several case study projects.
Reference24 articles.
1. Program Slicing
2. Conditioned program slicing
3. Conditioned Slicing for First-Order Functional Logic Programs.;D.Cheda;Proceedings of 17th International Workshop on Functional and (Constraint) Logic Programming (WFLP ’08),2008
4. Building executable union slices using conditioned slicing
5. ConSIT: A conditioned program slicer.;S.Danicic;IEEE International Conference on Software Maintenance (ICSM’00),2000