System Dependence Graph Construction for Aspect-Oriented Programs

We extend previous dependence-based representations called system dependence graphs (SDGs) to represent aspect-oriented programs and present an SDG construction algorithm. This algorithm first constructs a module dependence graph (MDG) for each piece of advice, introduction, and method in aspects an...

全面介绍

书目详细资料
Main Authors: Zhao, Jianjun, Rinard, Martin
出版: 2023
在线阅读:https://hdl.handle.net/1721.1/149983
实物特征
总结:We extend previous dependence-based representations called system dependence graphs (SDGs) to represent aspect-oriented programs and present an SDG construction algorithm. This algorithm first constructs a module dependence graph (MDG) for each piece of advice, introduction, and method in aspects and classes. It then uses existing techniques to connect the MDGs at call sites to form a partial SDG. Finally, it weaves the MDG for each piece of advice into the partial SDG for those methods whose behavior may be affected by the advice. The result is the complete SDG. Our SDGs capture the additional structure present in many aspect-oriented features such as join points, advice, introduction, aspects, and aspect inheritance, and various types of interactions between aspects and classes. They also correctly reflect the semantics of aspect-oriented concepts such as advice precedence, introduction scope, and aspect weaving. SDGs therefore provide a solid foundation for the further analysis of aspect-oriented programs.