Skip to main content
QUICK REVIEW

[论文解读] Explainable Software Defect Prediction: Are We There Yet?

Jiho Shin, Reem Aleithan|arXiv (Cornell University)|Nov 21, 2021
Software Engineering Research参考文献 56被引用 8
一句话总结

本研究调查了模型无关解释技术——LIME 和 BreakDown——在软件缺陷预测中,于不同数据采样、机器学习分类器及预测场景下的可靠性与稳定性。结果表明,不同设置下解释结果不一致,且未能反映根本原因,尽管先前声称其有效,但这些技术在实际应用中的可用性仍存疑。

ABSTRACT

Explaining the prediction results of software defect prediction models is a challenging while practical task, which can provide useful information for developers to understand and fix the predicted bugs. To address this issue, recently, Jiarpakdee et al. proposed to use {two state-of-the-art} model-agnostic techniques (i.e., LIME and BreakDown) to explain the prediction results of bug prediction models. Their experiments show these tools can generate promising results and the generated explanations can assist developers understand the prediction results. However, the fact that LIME and BreakDown were only examined on a single software defect prediction model setting calls into question about their consistency and reliability across software defect prediction models with various settings. In this paper, we set out to investigate the consistency and reliability of model-agnostic technique based explanation generation approaches (i.e., LIME and BreakDown) on software defect prediction models with different settings , e.g., different data sampling techniques, different machine learning classifiers, and different prediction scenarios. Specifically, we use both LIME and BreakDown to generate explanations for the same instance under software defect prediction models with different settings and then check the consistency of the generated explanations for the instance. We reused the same defect data from Jiarpakdee et al. in our experiments. The results show that both LIME and BreakDown generate inconsistent explanations under different software defect prediction settings for the same test instances, which makes them unreliable for explanation generation. Overall, with this study, we call for more research in explainable software defect prediction towards achieving consistent and reliable explanation generation.

研究动机与目标

  • 评估模型无关解释技术(LIME 和 BreakDown)在不同建模设置下的可靠性与稳定性,以应用于软件缺陷预测。
  • 调查当使用不同数据采样技术、分类器及预测场景构建缺陷预测模型时,解释结果是否保持一致。
  • 评估生成的解释是否反映缺陷的实际根本原因,而非表面或虚假的特征贡献。
  • 质疑先前声称 LIME 和 BreakDown 能为开发者提供可操作且可信解释的论断的实际有效性。
  • 呼吁对解释技术进行更严格的评估,并开发更可靠的可解释软件缺陷预测方法。

提出的方法

  • 复用了 Jiarpakdee 等人 [1] 的相同缺陷数据集,该数据集包含来自九个大型开源 Java 项目的 32 个版本的文件级缺陷数据。
  • 对多个具有不同设置的缺陷预测模型,应用 LIME 和 BreakDown 为相同测试实例生成实例级解释。
  • 系统性地改变三个关键设置:数据采样技术(五种方法)、机器学习分类器(六种模型)以及预测场景(跨版本与跨项目)。
  • 通过比较同一实例在不同模型配置下的特征重要性排序,衡量解释的一致性。
  • 对部分实例进行人工分析,以评估生成的解释是否与缺陷的实际根本原因一致。
  • 结合定量一致性检查与定性人工检查,评估解释的可靠性与实用性。

实验结果

研究问题

  • RQ1当使用不同数据采样技术构建缺陷预测模型时,LIME 和 BreakDown 生成的解释在多大程度上保持一致?
  • RQ2在缺陷预测模型中使用不同机器学习分类器时,解释结果的稳定性如何?
  • RQ3在缺陷预测中,不同预测场景(如跨版本与跨项目)下,解释输出有何差异?
  • RQ4通过人工检查确定,生成的解释在多大程度上反映了预测缺陷的实际根本原因?
  • RQ5像 LIME 和 BreakDown 这类模型无关解释技术,在实际软件缺陷预测中是否足够可靠与稳定?

主要发现

  • LIME 和 BreakDown 在不同缺陷预测设置下生成的解释存在显著不一致性,包括不同的数据采样技术、分类器及预测场景。
  • 特征重要性排序的不一致性削弱了解释的可靠性,使其在实践中无法提供一致的决策支持。
  • 人工分析证实,所有生成的解释均未能准确反映预测缺陷的真实根本原因。
  • 本研究反驳了先前声称 LIME 和 BreakDown 能生成可操作且具有洞察力解释的观点,因为这些解释往往突出无关或虚假的特征。
  • 研究结果表明,模型无关解释技术在实际软件缺陷预测系统中既不可靠也不稳定。
  • 结果呼吁重新评估现有模型无关方法,并强调在软件工程领域需要开发更稳健、更可信的解释方法。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。