Skip to main content
QUICK REVIEW

[论文解读] Is AI different for SE

Amritanshu Agrawal, Tim Menzies|arXiv (Cornell University)|Dec 9, 2019
Software Engineering Research参考文献 61被引用 4
一句话总结

本文研究了专为软件工程(SE)设计的AI工具是否与通用AI工具存在根本性差异。通过在120个数据集(包括缺陷预测、错误报告分析等SE特定任务)上测试SE优化工具,发现SE工具在罕见、不频繁的问题(如边界情况错误)上表现优于标准AI方法,但在常见AI基准测试中表现不佳。其核心贡献是一条简单规则:在处理罕见事件时使用SE专用工具,而在目标事件频繁时避免使用,突显了针对SE独特数据特征定制AI工具的必要性。

ABSTRACT

What AI tools are needed for SE? Ideally, we should have simple rules that peek at data, then say use this or use that To find such a rule, we explored 120 different data sets addressing numerous problems, including bad smell detection, predicting Github issue close time, bug report analysis, defect prediction and dozens of other non-SE problems. To this data, we apply a SE-based tool that (a)~out-performs the state-of-the-art for these SE problems yet (b)~fails very badly on standard AI problems. In those results, we can find a simple rule for when to use/avoid the SE-based tool. SE data is often about infrequent issues, like the occasional defect, or the rarely exploited security violation, or the requirement that holds for one special case. But as we show, standard AI tools work best when the target is relatively more frequent. Also, we can exploit these special properties of SE, to great effect (to rapidly find better optimizations for SE tasks via a tactic called dodging, explained in this paper). More generally, this result says we need a new kind of SE research for developing new AI tools that are more suited to SE problems.

研究动机与目标

  • 确定专为软件工程(SE)设计的AI工具是否与通用AI工具存在显著差异。
  • 识别SE专用工具相较于标准AI方法表现更优或更差的条件。
  • 揭示使SE问题与典型AI问题区分开来的底层数据特征。
  • 基于数据特性,提出一个在SE工具与通用AI工具之间进行选择的简单决策规则。
  • 倡导一种新的AI研究方向,即聚焦于SE专用工具的开发,以实现罕见事件检测。

提出的方法

  • 在120个多样化数据集上评估了SE优化工具,涵盖SE任务(如缺陷预测、问题关闭时间预测)和非SE问题。
  • 将SE工具在SE和非SE数据集上的表现与最先进AI模型进行对比。
  • 发现SE工具在目标事件不频繁的任务(如罕见缺陷、边界情况违规)上表现优异,但在标准AI基准测试中表现不佳,后者的目标事件更频繁。
  • 提出一项决策规则:当目标事件罕见时使用SE工具;当目标事件相对频繁时避免使用。
  • 引入一种名为“dodging”的新型优化技术,通过利用SE数据的独特属性,快速提升SE工具性能。
  • 分析了类别不平衡和事件稀有性等数据特征,以解释SE工具与通用AI工具之间的性能差距。

实验结果

研究问题

  • RQ1SE优化的AI工具在何种条件下优于通用AI模型?
  • RQ2事件频率和类别不平衡等数据特征如何影响SE专用工具与通用AI工具的性能?
  • RQ3能否推导出一个简单规则,以判断何时应使用SE工具而非标准AI方法?
  • RQ4SE数据的哪些特性使其与典型AI训练数据在本质上不同?
  • RQ5如何利用SE数据的特定属性来提升工具性能,如通过“dodging”技术所展示的?

主要发现

  • SE工具在缺陷预测和错误报告分析等SE特定任务上显著优于最先进AI模型。
  • 尽管SE工具在SE问题上表现优异,但在标准AI基准测试中表现不佳,表明其与典型AI数据分布存在不匹配。
  • 关键差异在于事件频率:SE工具在罕见事件(如偶发缺陷)上表现优异,而通用AI工具在更频繁的目标上表现更佳。
  • 一条简单规则浮现:当目标事件罕见时使用SE工具;当目标事件相对常见时避免使用。
  • “dodging”优化策略通过利用SE数据的独特属性(如不频繁但关键的问题)有效提升了SE工具性能。
  • 结果表明,通用AI工具因依赖频繁且平衡的数据,对许多SE问题不适用,因此亟需开发一类专为SE定制的AI工具。

更好的研究,从现在开始

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

无需绑定信用卡

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