挖掘行动规则以规划缺陷减少
软件工程
2024-05-24 v1 机器学习
摘要
缺陷减少规划在提升软件质量和最小化软件维护成本方面起着至关重要的作用。通过训练黑盒机器学习模型并“解释”其预测,软件工程的可解释人工智能旨在识别影响维护风险的代码特征。然而,事后解释并不总是忠实地反映原始模型的计算结果。在本文中,我们介绍了CounterACT,一种反事实行动规则挖掘方法,可以在没有黑盒模型的情况下生成缺陷减少计划。通过利用行动规则,CounterACT提供了一种行动方案,可视为对分配给一段代码的类别(例如,有缺陷或无缺陷)的反事实解释。我们在9个软件项目上将CounterACT的有效性与原始行动规则挖掘算法以及六种已建立的缺陷减少方法进行了比较。我们的评估基于:(a) 建议的代码更改与实际开发人员修改之间的重叠分数;(b) 未来版本中的改进分数;(c) 计划的精确率、召回率和F1分数。结果表明,与竞争方法相比,CounterACT的可解释计划在发布级别(中位数95%)和提交级别(中位数85.97%)实现了更高的重叠分数,并在精确率和召回率之间提供了更好的权衡(中位数F1分数88.12%)。最后,我们超越规划,探索利用大型语言模型(LLM)从我们生成的计划中生成代码编辑。结果表明,由我们的计划支持的LLM代码编辑建议是可操作的,并且比普通的LLM代码推荐更有可能通过相关的测试用例。
引用
@article{arxiv.2405.13740,
title = {Mining Action Rules for Defect Reduction Planning},
author = {Khouloud Oueslati and Gabriel Laberge and Maxime Lamothe and Foutse Khomh},
journal= {arXiv preprint arXiv:2405.13740},
year = {2024}
}