Boundary Value Exploration for Software Analysis
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 subdomains of the input space. 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, which can foster their wider use and improve test effectiveness and efficiency.
Sat 24 OctDisplayed time zone: Lisbon change
14:00 - 15:30 | Session: Test GenerationNEXTA 2020 at D. Luis Chair(s): Serge Demeyer University of Antwerp, Belgium | ||
14:00 30mFull-paper | Optimizing the Parameters of an Evolutionary Algorithm for Fuzzing and Test Data Generation NEXTA 2020 Ralf Gerlich Dr. Rainer Gerlich System and Software Engineering, Christian R. Prause German Aerospace Center - Space Administration Link to publication DOI | ||
14:30 30mFull-paper | Boundary Value Exploration for Software Analysis NEXTA 2020 Felix Dobslaw Chalmers University of Technology, Francisco Gomes de Oliveira Neto Chalmers | University of Gothenburg, Robert Feldt Chalmers University of Technology Link to publication DOI | ||
15:00 20mShort-paper | Test Data Generation for MC/DC Criterion using Reinforcement Learning NEXTA 2020 Ján Čegiň Faculty of Informatics and Information Technologies Slovak Technical University, Karol Rástočný Faculty of Informatics and Information Technologies, Slovak University of Technology in Bratislava Link to publication DOI |