arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2404.18596cs.SE
收藏

FauxPy:一个针对Python的错误定位工具

FauxPy: A Fault Localization Tool for Python

Mohammad Rezaalipour, Carlo A. Furia

AI总结:

本文提出FauxPy,一个支持七种错误定位技术、兼容Pytest等框架的Python开源错误定位工具,并验证了其在135个真实错误上的适用性。

摘要:

本文介绍了FauxPy,一个针对Python程序的错误定位工具。FauxPy支持四大类中的七种著名错误定位技术:基于频谱、基于变异、谓词切换和堆栈跟踪错误定位。它作为流行的Pytest测试框架的插件实现,但也适用于为Unittest和Hypothesis(另外两个流行的测试框架)编写的测试。本文展示了在两个示例上如何使用FauxPy,并从用户角度讨论了其主要功能和特性。为证明FauxPy适用于分析现实规模的Python项目,本文还总结了一项广泛实验评估的结果,该评估将FauxPy应用于BugsInPy精选集中的135个真实错误。据我们所知,FauxPy是首个支持多种错误定位类别的Python开源错误定位工具。

英文摘要:

This paper presents FauxPy, a fault localization tool for Python programs. FauxPy supports seven well-known fault localization techniques in four families: spectrum-based, mutation-based, predicate switching, and stack trace fault localization. It is implemented as plugin of the popular Pytest testing framework, but also works with tests written for Unittest and Hypothesis (two other popular testing frameworks). The paper showcases how to use FauxPy on two illustrative examples, and then discusses its main features and capabilities from a user's perspective. To demonstrate that FauxPy is applicable to analyze Python projects of realistic size, the paper also summarizes the results of an extensive experimental evaluation that applied FauxPy to 135 real-world bugs from the BugsInPy curated collection. To our knowledge, FauxPy is the first open-source fault localization tool for Python that supports multiple fault localization families.

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

↑