Abstract
Program slicing is a program analysis and transformation technique that has been successfully applied in a wide range of applications including program comprehension, debugging, maintenance, testing, and verification. However, there are only a few full-featured implementations of program slicing that are available for industrial applications or academic research. In particular, very little tool support exists for slicing programs written in modern object-oriented languages such as Java, C#, or C++. This talk presents an overview of Indus1 - a robust framework for analysis and slicing of concurrent Java programs, and Kaveri - a feature-rich Eclipse-based GUI for Indus slicing. For Indus, we describe the underlying tool architecture, analysis components, and program dependence capabilities required for slicing. In addition, we present a collection of advanced features useful for effective slicing of Java programs including calling-context sensitive slicing, scoped slicing, control slicing, and chopping. For Kaveri, we discuss the design goals and basic capabilities of a graphical presentation of slicing information that is integrated into a Java development environment. We will also briefly overview the Indus scripting framework that allows developers easy access to a variety of information collected by the underlying Indus program analysis framework.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have