面向方面编程的Aspect挖掘新方法:扇入与聚类分析结合

需积分: 3 0 下载量 100 浏览量 更新于2024-09-07 收藏 1.13MB PDF 举报
"这篇论文提出了一种新的Aspect挖掘方法,结合了扇入分析和聚类分析,以提高挖掘横切关注点的准确性和效率。通过扇入分析获取符合条件的方法集合和调用方法集合,然后利用调用方法作为特征进行聚类分析,形成候选Aspect种子集。这种方法在保持高召回率的同时提升了挖掘的精确度。" 本文是基于面向方面编程(AOP)的研究,主要探讨了如何有效地挖掘横切关注点(Cross-cutting Concerns),这是AOP中的核心概念,横切关注点是指那些贯穿多个模块或类的关注点,如日志、事务管理等。传统的方法往往难以管理和维护这些分散的代码,因此需要专门的工具和技术来提取并集中处理。 研究者提出了一种创新的挖掘方法,它结合了扇入分析(Fan-in Analysis)和聚类分析(Clustering Analysis)。扇入分析是一种衡量代码依赖性的技术,它计算一个函数或类被多少其他函数或类调用。在本文中,研究者选取了扇入值符合条件的方法,认为这些频繁被调用的方法可能涉及横切关注点。 接着,他们将这些调用方法视为特征属性,构建了一个对象数据矩阵。聚类分析是一种无监督学习方法,用于根据数据相似性将数据分组。在本研究中,聚类分析被应用于这个数据矩阵,以发现方法之间的内在关系,从而形成候选的Aspect种子集。这种方法有助于识别具有相似行为和功能的代码片段,这些片段可能是横切关注点的实例。 通过这种方法,研究者不仅考虑了方法的调用频率,还利用了聚类分析的洞察力,从而在保证高召回率的同时,提高了挖掘的准确性。召回率是评估挖掘方法是否能找出所有相关实例的能力,而准确性则关注找出的实例中有多少是真正相关的。执行效率的提升表明该方法能在合理的时间内完成挖掘任务,这对于实际应用至关重要。 该研究得到了重庆市自然科学基金和重庆市教委科学技术项目的资助,由葛君伟教授、张鹏硕士和方义秋副教授共同完成。他们的工作对于理解和改进面向方面软件开发的实践具有重要意义,特别是在自动化识别和管理横切关注点方面。 这项研究提供了一种新的工具,它能够帮助开发者更有效地识别和管理面向方面编程中的横切关注点,通过结合扇入分析和聚类分析,实现了更精确、高效的Aspect挖掘。这种方法的实施和应用有望改善软件的可维护性和可读性,减少代码的冗余,提高整体的软件质量。