Dependence flow graph for analysis of aspect-oriented programs

Program analysis is useful for debugging, testing and maintenance of software systems due to information about the structure and relationship of the program’s modules. In general, program analysis is performed either based on control flow graph or dependence graph. However, in the case of aspect-ori...

Full description

Saved in:
Bibliographic Details
Main Authors: Ahmad, Syarbaini, Abd Ghani, Abdul Azim, Mohd Sani, Fazlida
Format: Article
Language:English
Published: AIRCC Publishing Corporation 2014
Online Access:http://psasir.upm.edu.my/id/eprint/36983/1/Dependence%20flow%20graph%20for%20analysis%20of%20aspect.pdf
http://psasir.upm.edu.my/id/eprint/36983/
http://www.airccse.org/journal/ijsea/current2014.html
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Universiti Putra Malaysia
Language: English
Description
Summary:Program analysis is useful for debugging, testing and maintenance of software systems due to information about the structure and relationship of the program’s modules. In general, program analysis is performed either based on control flow graph or dependence graph. However, in the case of aspect-oriented programming (AOP), control flow graph (CFG) or dependence graph (DG) are not enough to model the properties of Aspect-oriented (AO) programs. With respect to AO programs, although AOP is good for modular representation and crosscutting concern, suitable model for program analysis is required to gather information on its structure for the purpose of minimizing maintenance effort. In this paper Aspect Oriented Dependence Flow Graph (AODFG) as an intermediate representation model is proposed to represent the structure of aspect-oriented programs. AODFG is formed by merging the CFG and DG, thus more information about dependencies between the join points, advice, aspects and their associated construct with the flow of control from one statement to another are gathered. We discuss the performance of AODFG by analysing some examples of AspectJ program taken from AspectJ Development Tools (AJDT).