摘要

代码异味检测和处理在很大程度上能减少软件项目维护的开销,基于手工、关联以及可视化等一些检测方法在一定程度上不能保证检测的精确性和效率.本文提出一种基于协同并行算法优化的代码异味检测方法,该方法利用结构化度量从代码异味的范例中生成检测规则,利用与良好范例代码的偏差生成检测器,通过遗传规划搜索得到最优检测规则,遗传算法搜索得到最优检测器,将最优的检测规则和检测器经过交叉得到检测代码异味的最优解决方案.在评估检测器时,通过Jaccard系数对Needleman-Wuncsh算法进行优化,提高了谓词参数之间的相似性,降低了检测器的成本.实验证明,基于协同并行算法优化的代码异味检测方法在精确度和耗时方面都优于其它基于单一种群算法以及基于协同并行算法的代码异味检测方法.