arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2104.02517cs.SE
收藏

关于胜任程序员假说的新视角:通过重复变异复现缺陷

A new perspective on the competent programmer hypothesis through the reproduction of bugs with repeated mutations

Zaheed Ahmed, Eike Stein, Steffen Herbold, Fabian Trautsch, Jens Grabowski

AI总结:

本研究通过变异链复现真实缺陷,检验胜任程序员假说,发现该假说成立但变异测试缺少关键算子。

摘要:

胜任程序员假说认为,大多数程序员足够胜任,能够编写出正确或几乎正确的源代码。由于这意味着缺陷通常应表现为正确代码的微小变异,因此胜任程序员假说是变异测试的基本假设之一。遗憾的是,目前尚不清楚胜任程序员假说是否成立,且过往研究提出了相互矛盾的论断。在本文中,我们对胜任程序员假说及其与变异测试的关系提供了新的视角。我们尝试通过一系列变异来重新创建真实世界的缺陷,以理解变异测试与缺陷之间是否存在直接联系。这些路径的长度有助于我们理解源代码是否确实几乎正确,还是需要较大的变异。我们的结果表明,尽管胜任程序员假说似乎成立,但变异测试缺少重要的算子来生成具有代表性的真实世界缺陷。

英文摘要:

The competent programmer hypothesis states that most programmers are competent enough to create correct or almost correct source code. Because this implies that bugs should usually manifest through small variations of the correct code, the competent programmer hypothesis is one of the fundamental assumptions of mutation testing. Unfortunately, it is still unclear if the competent programmer hypothesis holds and past research presents contradictory claims. Within this article, we provide a new perspective on the competent programmer hypothesis and its relation to mutation testing. We try to re-create real-world bugs through chains of mutations to understand if there is a direct link between mutation testing and bugs. The lengths of these paths help us to understand if the source code is really almost correct, or if large variations are required. Our results indicate that while the competent programmer hypothesis seems to be true, mutation testing is missing important operators to generate representative real-world bugs.

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

↑