As the primary cause of software defects, human error is the key to understanding, and perhaps to predicting and avoiding them. Little research has been done to predict defects on the basis of the cognitive errors that cause them. This paper proposes an approach to predicting software defects through knowledge about the cognitive mechanisms of human errors. Our theory is that the main process behind a software defect is that an error-prone scenario triggers human error modes, which psychologists have observed to recur across diverse activities. Software defects can then be predicted by identifying such scenarios, guided by this knowledge of typical error modes. The proposed idea emphasizes predicting the exact location and form of a possible defect. We conducted two case studies to demonstrate and validate this approach, with 55 programmers in a programming competition and 5 analysts serving as the users of the approach. We found it impressive that the approach was able to predict, at the requirement phase, the exact locations and forms of 7 out of the 22 (31.8%) specific types of defects that were found in the code. The defects predicted tended to be common defects: their occurrences constituted 75.7% of the total number of defects in the 55 developed programs; each of them was introduced by at least two persons. The fraction of the defects introduced by a programmer that were predicted was on average (over all programmers) 75%. Furthermore, these predicted defects were highly persistent through the debugging process. If the prediction had been used to successfully prevent these defects, this could have saved 46.2% of the debugging iterations. This excellent capability of forecasting the exact locations and forms of possible defects at the early phases of software development recommends the approach for substantial benefits to defect prevention and early detection.


翻译:作为软件缺陷的主要原因,人为错误是理解、预测和避免这些缺陷的关键。根据导致这些缺陷的认知错误,我们很少进行研究,以预测缺陷。本文件提出一种通过了解人类错误认知机制来预测软件缺陷的方法。我们的理论是,软件缺陷背后的主要过程是,容易出错的情景触发了人为错误模式,心理学家观察到在各种活动中反复出现。然后,根据对典型错误模式的这种了解,软件缺陷可以通过查明这种情景来预测。拟议的理念强调预测一个可能的缺陷的确切位置和形式。我们进行了两个案例研究,以展示和验证这一方法,有55个程序员在编程竞争中,5个分析员作为方法的用户。我们发现,软件缺陷背后的主要过程是,在需求阶段,22种(31.8%)中,有7种确切的位置和形式,心理学家观察到的缺陷可能是常见的缺陷。这些缺陷的发生率占55个程序缺陷总数的75.7%;这些缺陷的出现率是预估的缺陷,其中每一种是预估的缺陷,这些缺陷是预估的。

0
下载
关闭预览

相关内容

专知会员服务
17+阅读 · 2020年9月6日
强化学习最新教程,17页pdf
专知会员服务
171+阅读 · 2019年10月11日
2019年机器学习框架回顾
专知会员服务
35+阅读 · 2019年10月11日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
CCF推荐 | 国际会议信息6条
Call4Papers
9+阅读 · 2019年8月13日
计算机 | 中低难度国际会议信息8条
Call4Papers
9+阅读 · 2019年6月19日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
计算机 | 中低难度国际会议信息6条
Call4Papers
7+阅读 · 2019年5月16日
人工智能 | 中低难度国际会议信息6条
Call4Papers
3+阅读 · 2019年4月3日
人工智能 | SCI期刊专刊信息3条
Call4Papers
5+阅读 · 2019年1月10日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
利用动态深度学习预测金融时间序列基于Python
量化投资与机器学习
18+阅读 · 2018年10月30日
人工智能 | 国际会议截稿信息9条
Call4Papers
4+阅读 · 2018年3月13日
【推荐】决策树/随机森林深入解析
机器学习研究会
5+阅读 · 2017年9月21日
Arxiv
35+阅读 · 2021年1月27日
The Measure of Intelligence
Arxiv
6+阅读 · 2019年11月5日
VIP会员
相关资讯
CCF推荐 | 国际会议信息6条
Call4Papers
9+阅读 · 2019年8月13日
计算机 | 中低难度国际会议信息8条
Call4Papers
9+阅读 · 2019年6月19日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
计算机 | 中低难度国际会议信息6条
Call4Papers
7+阅读 · 2019年5月16日
人工智能 | 中低难度国际会议信息6条
Call4Papers
3+阅读 · 2019年4月3日
人工智能 | SCI期刊专刊信息3条
Call4Papers
5+阅读 · 2019年1月10日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
利用动态深度学习预测金融时间序列基于Python
量化投资与机器学习
18+阅读 · 2018年10月30日
人工智能 | 国际会议截稿信息9条
Call4Papers
4+阅读 · 2018年3月13日
【推荐】决策树/随机森林深入解析
机器学习研究会
5+阅读 · 2017年9月21日
Top
微信扫码咨询专知VIP会员