针对面向对象软件系统中类与类之间存在的复杂关联关系,提出了一种基于类关联关系的代码重构时机识别方法,可用于探测代码中存在的重复多对多关联关系,为进一步实施重构提供指导。该方法首先将源代码转换成抽象语法树,然后提取每一个类的成员变量,得到每一个类的关联类集,再寻找类之间的公共关联类,最后根据设定的阈值,保存并输出满足预定条件的候选重构类集以及它们的公共关联类。通过对四个项目进行重构时机识别实验,结果表明,当阈值为3时,方法的精确率超过96%,当阈值为4时精确率达到100%。同时,方法具有较好的执行效率,对于超过500个类的项目,识别程序的执行时间不到4 s,说明该方法可有效应用...