论文标题

软件分析的边界价值探索

Boundary Value Exploration for Software Analysis

论文作者

Dobslaw, Felix, Neto, Francisco Gomes de Oliveira, Feldt, Robert

论文摘要

为了使软件可靠且有弹性,可以广泛接受必须与软件本身一起创建和维护测试。代码中漏洞和故障的一种保障是确保对输入空间子域之间边界的正确行为。所谓的边界价值分析(BVA)和边界值测试(BVT)技术旨在行使这些边界并提高测试效率。但是,BVA和BVT本身的概念通常不是很好的定义,并且尚不清楚如何识别相关的子域,因此在给定规范的情况下,界限了它们的边界。这是有限的采用和阻碍自动化的。我们澄清BVA和BVT并引入边界价值探索(BVE)来描述通过帮助检测和识别边界输入来支持它们的技术。此外,我们基于信息理论距离函数提出了两种具体的BVE技术:(i)用于边界检测的算法,以及(ii)软件可视化的使用,以探索正在测试的软件的行为并识别其边界行为。作为初步评估,我们将这些技术应用于经常使用且经过良好测试的日期处理库。我们的结果揭示了我们技术强调的边界的可疑行为。总之,我们认为边界价值探索我们的技术启用是迈向自动化边界价值分析和测试,促进其更广泛使用并提高测试有效性和效率的一步。

For software to be reliable and resilient, it is widely accepted that tests must be created and maintained alongside the software itself. One safeguard from vulnerabilities and failures in code is to ensure correct behavior on the boundaries between the input space sub-domains. So-called boundary value analysis (BVA) and boundary value testing (BVT) techniques aim to exercise those boundaries and increase test effectiveness. However, the concepts of BVA and BVT themselves are not generally well defined, and it is not clear how to identify relevant sub-domains, and thus the boundaries delineating them, given a specification. This has limited adoption and hindered automation. We clarify BVA and BVT and introduce Boundary Value Exploration (BVE) to describe techniques that support them by helping to detect and identify boundary inputs. Additionally, we propose two concrete BVE techniques based on information-theoretic distance functions: (i) an algorithm for boundary detection and (ii) the usage of software visualization to explore the behavior of the software under test and identify its boundary behavior. As an initial evaluation, we apply these techniques on a much used and well-tested date handling library. Our results reveal questionable behavior at boundaries highlighted by our techniques. In conclusion, we argue that the boundary value exploration that our techniques enable is a step towards automated boundary value analysis and testing, fostering their wider use and improving test effectiveness and efficiency.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源