过程内程序依赖图驱动的横切关注点挖掘方法

需积分: 9 0 下载量 135 浏览量 更新于2024-09-09 收藏 264KB PDF 举报
本篇论文研究探讨了"基于过程内程序依赖图的方面挖掘技术",作者是闵洪波、钱巨和徐宝文,他们来自东南大学计算机科学与工程学院和江苏省软件质量研究所。论文的焦点在于解决现有面向对象技术中难以模块化横切关注点的问题,这是AOP(面向方面编程)的核心挑战。 横切关注点是软件系统中那些跨越多个模块且对业务逻辑影响全局但并不直接属于任何特定模块的功能。传统的静态分析技术,如克隆代码识别和Fan-in分析,通常依据代码的散列性(scatter)来寻找潜在的方面,但这并未完全捕捉到横切关注点的本质——tangle,即核心功能与横切功能交织在一起。 作者提出的方法创新性地结合了过程内数据流特性与过程的语义信息。首先,他们分析与核心功能相关的数据,构建过程依赖图,将核心功能抽象为一个名为"Core"的节点。接着,通过依赖图的拓扑分析,识别出独立于核心功能的语句集,这些语句被定义为核心功能的组成部分。其余由Core节点可达的语句则被认为是横切功能的体现,从而实现了对横切关注点的有效分离。 这种方法强调了从tangle特征出发挖掘横切关注点的重要性,因为这更能反映面向方面编程设计的初衷——打破核心逻辑与横切功能的混杂,明确模块的职责边界,提升软件的可扩展性、可维护性和灵活性。通过基于过程内程序依赖图的方面挖掘,可以实现面向方面的重构,优化现有软件系统的结构,使其更好地适应AOP的要求。 这篇论文的主要贡献在于提供了一种新颖的方面挖掘策略,它不仅考虑了数据流和语义信息,还深入理解了横切关注点的本质,有助于软件开发人员更高效地利用AOP技术进行系统重构。