Spectrum-Based Fault Localization (SBFL) is a technique to be used during debugging, the premise of which is that, based on the test case outcomes and code coverage, faulty code elements can be automatically detected. SBFL is popular among researchers because it is lightweight and easy to implement, and there is a lot of potential in it when it comes to research that aims to improve its effectiveness. Despite this, the technique cannot be found in contemporary development and debugging tools, only a handful of research prototypes are available. Reasons for this can be multiple, including the algortihms' sub-optimal effectiveness and other technical weaknesses. But, also the lack of clear functional and non-functional requirements for such a tool, either standalone or integrated into IDEs. In this paper, we attempt to provide such a list in form of recommendations, based on surveying the most popular SBFL tools and on our own researchers' and tool builders' experience.
翻译:基于频谱的故障定位(SBFL)是一种用于调试阶段的技术,其前提是根据测试用例结果和代码覆盖率,可以自动检测出有故障的代码元素。SBFL因轻量级且易于实现而受到研究人员的青睐,并且在旨在提高其有效性的研究中具有巨大潜力。尽管如此,该技术并未出现在现代开发和调试工具中,目前仅有少数研究原型可用。造成这一现象的原因可能多种多样,包括算法效果欠佳及其他技术缺陷,同时也缺乏此类工具(无论是独立运行还是集成到IDE中)明确的 functional 和非 functional 需求。本文基于对最流行的SBFL工具的调研以及我们自身的研究人员和工具构建者的经验,尝试以建议的形式提供这样一份需求清单。