Principles of Software Evolution, International Workshop on
Download PDF

Abstract

One of the issues in software evolution is debugging. Debugging large and complex software systems evolved requires a lot of effort since it is very difficult to localize and identify faults. Therefore, reducing the effort of debugging process is an important step towards efficient software evolution. Program slicing, especially dynamic slicing, has been proposed to ef.ciently localize faults in a procedural program and an object-oriented program. Although several tools have been developed for Java programs, these are difficult to maintain because of the frequent revision of Java languages. Aspect-Oriented Programming (AOP) is a new technology for the separation of concerns in program development. Using AOP, modularizing crosscutting aspects of a system is possible. One useful application of AOP is for modularizing the collecting program?s dynamic information for program analysis. Since the collection of dynamic information affects the over-all target program, this functionality is a typical crosscutting concern. In this paper, we apply AOP to develop a program debugging tool using program slicing. First, we examine the application of AOP for collecting dynamic information from program execution and for calculating program slices. Next, we develop a program slicing system using AspectJ. Finally, we describe the benefits, usability, and cost effectiveness of a module of dynamic analysis based on AOP.
Like what you’re reading?
Already a member?Sign In
Member Price
$11
Non-Member Price
$21
Add to CartSign In
Get this article FREE with a new membership!

Related Articles