Abstract

Graph-based representations of programs such as control flow graph or dependence graph have been used to support program analysis tasks such as program comprehension and software maintenance. However, in the case of Aspect-Oriented Programming (AOP), such graph representations individually is not enough to represent the features of aspect-oriented programs because it could need to identify the flow of control and the relationship of the data. AOP is a technique for improving modularity by separating crosscutting concerns in software development. In this article, a graph model known as Aspect-Oriented Dependence Flow Graph (AODFG) is proposed to represent the structure of aspect-oriented programs. The graph is formed by combining control flow graph and dependence graph into a single graph representation. As a consequence, more information about dependencies involving the features of AOP, such as join point, advice, aspects, their related constructs and the flow of control are able to be analysed. Effectiveness analysis of AODFG has been conducted in an experiment involving twenty software experts applying the graph on the AspectJ benchmark programs. The findings show that they were very satisfied with AODFG as an effective tools for analysing code.

Highlights

  • Graph-based representations for programs are useful in supporting program analysis tasks such as program comprehension and software maintenance

  • Varieties of code representations for AspectOriented Programming (AOP) have been proposed in the literature, such as Aspect-Oriented System Dependence Graph (ASDG) (Zhao, 2002), Inter-procedural Aspect Control Flow Graph (IACFG) (Bernardi and di Lucca, 2007) and Aspect-Oriented Control Flow Graph (AOCFG) (Parizi and Ghani, 2008)

  • We propose an intermediate code representation called Aspect-Oriented Dependence Flow Graph (AODFG) to support program analysis of aspectoriented programs

Read more

Summary

Introduction

Graph-based representations for programs are useful in supporting program analysis tasks such as program comprehension and software maintenance. With the advance of AspectOriented Programming (AOP) as a means for handling modularization of software systems by reducing the tangling and scattering of crosscutting concerns, the traditional source code representations models are inadequate to model features of AOP such as join point, pointcut, advice, introduction and aspect. To ameliorate this inadequacy, varieties of code representations for AOP have been proposed in the literature, such as Aspect-Oriented System Dependence Graph (ASDG) (Zhao, 2002), Inter-procedural Aspect Control Flow Graph (IACFG) (Bernardi and di Lucca, 2007) and Aspect-Oriented Control Flow Graph (AOCFG) (Parizi and Ghani, 2008). We can get information about flow work list that can help us to get the executable flag and we understand the dependencies among the object and aspect methods in the program

Methods
Results
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.