Assurances in Software Testing: A Roadmap

07/26/2018
by   Marcel Böhme, et al.
0

As software engineering researchers, we already understand how to make testing more effective and efficient at finding bugs. However, as fuzzing (i.e., automated testing) becomes more widely adopted in practice, practitioners are asking: Which assurances does a fuzzing campaign provide that exposes no bugs? When is it safe to stop the fuzzer with a reasonable residual risk? How much longer should the fuzzer be run to achieve a reasonable code coverage? It is time for us to move beyond the innovation of increasingly sophisticated testing techniques, to build a body of knowledge around the explication and quantification of the testing process, and to develop sound methodologies to estimate and extrapolate these quantities with measurable accuracy. In our vision of the future practitioners leverage a rich statistical toolset to assess residual risk, to obtain statistical guarantees, and to analyze the cost-benefit trade-off for ongoing fuzzing campaigns. We propose a general framework as a first starting point to tackle this fundamental challenge and discuss a large number of concrete opportunities for future research.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/01/2021

How Developers Engineer Test Cases: An Observational Study

One of the main challenges that developers face when testing their syste...
research
09/07/2023

Software Testing of Generative AI Systems: Challenges and Opportunities

Software Testing is a well-established area in software engineering, enc...
research
02/02/2023

Sentiment Overflow in the Testing Stack: Analysing Software Testing Posts on Stack Overflow

Software testing is an integral part of modern software engineering prac...
research
07/11/2023

Can a Chatbot Support Exploratory Software Testing? Preliminary Results

Tests executed by human testers are still widespread in practice and fil...
research
07/20/2022

Fairness Testing: A Comprehensive Survey and Analysis of Trends

Software systems are vulnerable to fairness bugs and frequently exhibit ...
research
08/02/2020

Concolic Testing in CLP

Concolic testing is a popular software verification technique based on a...
research
05/07/2018

Effective Automated Decision Support for Managing Crowdtesting

Crowdtesting has grown to be an effective alter-native to traditional te...

Please sign up or login with your details

Forgot password? Click here to reset