Aspect-Oriented Programming (AOP) is a brand new methodology of programming. It overcomes the weakness of Object-Oriented Programming (OOP) when modeling the crosscutting concerns. By extracting crosscutting concerns and encapsulating them into separate programming module, AOP eliminates code scattering and tangling in OO programs and improves the modularity of programs, making AO system more maintainable, extensible and flexible. But the separation of aspect code also introduces difficulties for static analysis of AO programs, and existing techniques can not be applied to AOP programs directly.In this thesis, we introduce an approach to construct Control Flow Graph (CFG) for AspectJ programs through static analysis. The main feature of our approach is to construct the CFG based on the Abstract Syntax Tree (AST) of AspectJ compiler. We construct aspect CFG skeleton... |