从业者对缺陷预测模型的目标和视觉解释的看法

Practitioners’ Perceptions of the Goals and Visual Explanations of Defect Prediction Models

中文题目:《从业者对缺陷预测模型的目标和视觉解释的看法》
结论:1、研究提高对缺陷预测模型及其预测的理解的重要性(理解模型、理解模型预测结果)
2、提高方法:使用来自可解释AI领域的ANOVA/VarImp 和 LIME等模型无关技术来理解


1. 调查背景

1.1 缺陷预测模型

用于软件质量保证(SQA),使用统计或机器学习模型从历史软件数据开发得到的模型。
对缺陷预测模型的使用目标进行研究。论文通过后续分析将缺陷预测模型的使用目标主要分为了3个。大多数缺陷预测模型被用于预测代码工件是否有缺陷。先前对缺陷预测模型的研究主要关注于预测目标,即预测将来有缺陷的可能性。很少关注对模型的理解和对预测结果的解释。

1.2 模型视觉解释技术

与被解释模型无关,用于帮助使用者理解缺陷预测模型理解预测结果
以前的研究主要使用的是可解释性AI领域的技术。论文通过后续分析得到8个主要使用到的模型视觉解释技术,并对从业者使用这些技术的喜好进行了研究。

1.3 研究原因

1、加深对缺陷模型的理解,可以知道缺陷预测模型的不足和未来的努力方向;
2、加强对可视化技术的理解,可以加快新型可视化技术的设计,从而简化从业者对缺陷预测模型的理解。
3、相关研究不足。


2. 确定研究对象

2.1 开放式卡片分类法

样本选择:在IEEE Xplore、Springer 和 ACM 数字图书馆收集近5年软件缺陷预测的2890项相关研究,最终挑选了其中的96项。
开放式卡片分类法:无预先规定的标签,由用户按照自己感觉恰当的方式把卡片分为若干组,最后再给分好的组命名,并贴上标签。论文首先列出了开发缺陷预测模型的所有目标,根据模型在每项研究中的使用方式进行分类。经过讨论得出了最终的类别集。
分类结果:分析得到使用缺陷预测模型的3个目的
从业者对缺陷预测模型的目标和视觉解释的看法_第1张图片

2.2 缺陷预测模型3个目标

1、预测文件将来有缺陷的可能性(目标预测
预测文件在未来出现缺陷的可能性,从而生成最需要进行SQA活动的文件。使用机器学习方法(回归模型,随机森林,深度学习等)在历史软件信息上训练。
2、了解过去与软件缺陷相关的特征(解释模型
3、解释模型预测结果,即为什么被预测为有缺陷(解释预测
其中第一个目标占比最多,而其他两个占比很少,论文强调了研究如何理解缺陷预测模型及其预测的重要性

2.3 模型无关技术model-agnostic

解释模型:
1、ANOVA——回归分析,用于生成软件缺陷因素的重要性分数,仅显示特征重要性;
2、变量重要性Varlmp——随机森林分类,同上;
3、偏依赖图PDP——为分类模型生成模型解释;
4、决策树——基于树的模型解释。
解释预测结果:
1、LIME——为分类模型生成每个因素的重要性规则;
2、BreakDown——为模型预测生成基于概率的解释;
3、SHAP——使用博弈论为每个模型预测生成基于概率的解释;
4、Anchor——LIME的扩展,为模型预测生成基于规则的解释。
这些技术用于生成视觉解释而与缺陷预测模型的生成无关(model-agnostic)。
由于针对不同目标使用的预测模型种类不同,解释模型时使用到的模型无关技术也不相同。比如当缺陷预测模型以解释模型为目的时使用ANOVA技术最多;以解释预测为目的时使用LIME技术最多。
从业者对缺陷预测模型的目标和视觉解释的看法_第2张图片


3、调查方法

Zenodo中提供了复制包和教程,以及问卷、论文分析等材料。

3.1 研究问题

  • 从业者对目标的看法:感知有用性、采用意愿
  • 从业者对模型无关技术的看法:总体偏好,信息有用性,信息洞察力和信息质量

3.2 研究方法

里克特/量表:受测者对一组与测量主题有关陈述语句发表自己的看法,1.强烈反对 2.不同意 3.既不同意也不反对 4.同意 5.坚决同意,每个回答对应一个分数,对分数进行加总得到里克特量表。
从业者对缺陷预测模型的目标和视觉解释的看法_第3张图片
问卷组成

  • 人口信息统计:角色、年经验、居住国、编程语言、团队规模,是否使用静态分析工具
  • 对预测模型的看法:感知有用性、采用意愿(进行评分)
  • 对模型可视化的不可知技术的看法:使用PSSUQ框架评估,信息有用性、信息质量、信息洞察力、整体偏好
  • 开放式问题
    同意因子:(% strongly agree + % agree)/(% strongly disagree + % disagree),表示受测者对于陈述的同意程度。

3.3 研究结果

1、从业者对软件缺陷目标的看法:
看法:82-84%认为这些目标是有用的,74-78%愿意采用缺陷预测模型。
2、从业者对可视化技术的评估:
对这些可视化技术从以下方面进行评估(PSSUQ框架)
信息有用性、信息洞察力、信息质量、视觉解释的正面和负面反馈


4、结论

1、研究提高对缺陷预测模型及其预测的理解的重要性(理解模型、理解模型预测结果)
2、提高方法:使用来自可解释AI领域的ANOVA/VarImp 和 LIME等模型无关技术来理解

你可能感兴趣的:(软件工程)