arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2003.05094cs.SEcs.LG
收藏

软件故障预测外部有效性Bandit算法的仿真研究

A Simulation Study of Bandit Algorithms to Address External Validity of Software Fault Prediction

Kindai University(近畿大学);Fukuoka Institute of Technology(福冈工业大学);Nara Institute of Science and Technology(奈良科学技术研究所)

Teruki Hayakawa, Masateru Tsunoda, Koji Toda, Keitaro Nakasai, Kenichi Matsumoto

摘要:

已经提出了各种软件故障预测模型和用于构建算法的技术。许多研究对它们进行了比较和评估,以确定最有效的方法。然而,在大多数情况下,此类模型和技术并不是在每个数据集上都具有最佳性能。这是因为存在软件开发数据集的多样性,因此,存在所选模型或技术在特定数据集上表现不佳的风险。为了避免选择一个低精度的模型,我们应用强盗算法来预测故障。考虑玩家有100个硬币在几个老虎机上下注的情况。软件故障预测的普通使用类似于玩家在一个老虎机中投注所有100个硬币。相比之下,强盗算法在每台机器上下注一个硬币(即,使用预测模型)逐步寻找最佳机器。在实验中,我们开发了一个包含100个模块的人工数据集,其中15个模块包含故障。然后,我们开发了各种人工故障预测模型,并使用强盗算法动态地选择它们。与仅使用一个预测模型相比,Thomson抽样算法显示出最好或第二好的预测性能。

英文摘要:

Various software fault prediction models and techniques for building algorithms have been proposed. Many studies have compared and evaluated them to identify the most effective ones. However, in most cases, such models and techniques do not have the best performance on every dataset. This is because there is diversity of software development datasets, and therefore, there is a risk that the selected model or technique shows bad performance on a certain dataset. To avoid selecting a low accuracy model, we apply bandit algorithms to predict faults. Consider a case where player has 100 coins to bet on several slot machines. Ordinary usage of software fault prediction is analogous to the player betting all 100 coins in one slot machine. In contrast, bandit algorithms bet one coin on each machine (i.e., use prediction models) step-by-step to seek the best machine. In the experiment, we developed an artificial dataset that includes 100 modules, 15 of which include faults. Then, we developed various artificial fault prediction models and selected them dynamically using bandit algorithms. The Thomson sampling algorithm showed the best or second-best prediction performance compared with using only one prediction model.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑