Boundary Value Exploration for Software Analysis

01/18/2020
by   Felix Dobslaw, et al.
0

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 sub-domains 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 clearly 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.

READ FULL TEXT

page 1

page 7

research
07/19/2022

Automated Black-Box Boundary Value Detection

The input domain of software systems can typically be divided into sub-d...
research
05/27/2019

Towards Automated Boundary Value Testing with Program Derivatives and Search

A natural and often used strategy when testing software is to use input ...
research
08/19/2022

Metamorphic Testing for Web System Security

Security testing aims at verifying that the software meets its security ...
research
07/30/2020

Identification of Failure Regions for Programs with Numeric Inputs

Failure region, where failure-causing inputs reside, has provided many i...
research
12/23/2018

Border Effect of Complex Network: An analysis on the cooperation network of movie stars across different regions

People always carry out social activities within certain geographic spac...
research
10/15/2018

Finding a boundary between valid and invalid regions of the input space

In the context of robustness testing, the boundary between the valid and...
research
03/05/2020

Microservice Decomposition via Static and Dynamic Analysis of the Monolith

Migrating monolithic software systems into microservices requires the ap...

Please sign up or login with your details

Forgot password? Click here to reset