Sliced Slices: Separating Data and Control Influences
Shrawan Kumar, Amitabha Sanyal, Uday Khedker

TL;DR
This paper introduces a method to separate data and control influences in program slices, resulting in smaller, more manageable slices that are useful for program analysis and debugging.
Contribution
It defines data and control slices separately, demonstrating that they are often significantly smaller than traditional slices, improving efficiency and applicability.
Findings
Data slices are often less than 10% of program size.
Control slices are comparable in computation time to traditional slices.
More than 50% of cases have significantly smaller data slices.
Abstract
Backward slicing has been used extensively in program understanding, debugging and scaling up of program analysis. For large programs, the size of the conventional backward slice is about 25% of the program size. This may be too large to be useful. Our investigations reveal that in general, the size of a slice is influenced more by computations governing the control flow reaching the slicing criterion than by the computations governing the values relevant to the slicing criterion. We distinguish between the two by defining data slices and control slices both of which are smaller than the conventional slices which can be obtained by combining the two. This is useful because for many applications, the individual data or control slices are sufficient. Our experiments show that for more than 50% of cases, the data slice is smaller than 10% of the program in size. Besides, the time to…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Software System Performance and Reliability
