Abstract :
Alias analysis is a method for extracting sets of expressions which may possibly refer to the same memory locations during program execution. Although many researchers have already proposed analysis methods for the purpose of program optimization, difficulties still remain in applying such methods to practical software engineering tools in the sense of precision, extensibility and scalability. Focusing mainly on a practical use for program maintenance activities such as program debugging and understanding, we propose an alias analysis method for object-oriented programs and discuss our implementation. Using this method, we have developed a tool named JAAT. Our proposed method employs a two-phase, on-demand, and instance-based algorithm, in which intra-class analysis is done in phase 1 for whole programs and libraries, and inter-class analysis is done in phase 2 only for a user-demanded target. JAAT can analyze large programs or libraries such as JDK class library. Also, JAAT includes various features for program maintenance activities, such as GUI for displaying aliases, and an XML database for storing analysis information
Keywords :
Java; object-oriented programming; program debugging; reverse engineering; software maintenance; JAAT; Java alias analysis tool; object-oriented programs; program debugging; program maintenance; program optimization; program understanding; software engineering; Algorithm design and analysis; Debugging; Graphical user interfaces; Java; Libraries; Optimization methods; Scalability; Software engineering; Spatial databases; XML;