Research Article Open Access

Effectiveness Analysis of Aspect-Oriented Dependence Flow Graph as an Intermediate Representation Tool

Syarbaini Ahmad1 and Abdul Azim A. Ghani2
  • 1 International Islamic University College Selangor (KUIS), Malaysia
  • 2 University Putra Malaysia (UPM), Malaysia

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.

Journal of Computer Science
Volume 14 No. 6, 2018, 727-739

DOI: https://doi.org/10.3844/jcssp.2018.727.739

Submitted On: 29 November 2017 Published On: 20 February 2018

How to Cite: Ahmad, S. & A. Ghani, A. A. (2018). Effectiveness Analysis of Aspect-Oriented Dependence Flow Graph as an Intermediate Representation Tool. Journal of Computer Science, 14(6), 727-739. https://doi.org/10.3844/jcssp.2018.727.739

  • 5,024 Views
  • 2,573 Downloads
  • 0 Citations

Download

Keywords

  • Aspect-Oriented Program
  • Control Flow Graph
  • Dependence Graph
  • Program Analysis
  • Du-Chains
  • Ud-Chains
  • Code Analysis