Flexible Probabilistic Modeling for Search Based Test Data Generation
Paper in proceeding, 2020

While Search-Based Software Testing (SBST) has improved significantly in the last decade we propose that more flexible, probabilistic models can be leveraged to improve it further. Rather than searching for an individual, or even sets of, test case(s) or datum(s) that fulfil specific needs the goal can be to learn a generative model tuned to output a useful family of values. Such generative models can naturally be decomposed into a structured generator and a probabilistic model that determines how to make non-deterministic choices during generation. While the former constrains the generation process to produce valid values the latter allows learning and tuning to specific goals. SBST techniques differ in their level of integration of the two but, regardless of how close it is, we argue that the flexibility and power of the probabilistic model will be a main determinant of success. In this short paper, we present how some existing SBST techniques can be viewed from this perspective and then propose additional techniques for flexible generative modelling the community should consider. In particular, Probabilistic Programming languages (PPLs) and Genetic Programming (GP) should be investigated since they allow for very flexible probabilistic modelling. Benefits could range from utilising the multiple program executions that SBST techniques typically require to allowing the encoding of high-level test strategies.

Probabilistic Programming

Software Testing

Author

Robert Feldt

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers)

Shin Yoo

Korea Advanced Institute of Science and Technology (KAIST)

Proceedings - 2020 IEEE/ACM 42nd International Conference on Software Engineering Workshops, ICSEW 2020

537-540
9781450379632 (ISBN)

42nd IEEE/ACM International Conference on Software Engineering Workshops, ICSEW 2020
Seoul, South Korea,

Subject Categories

Other Computer and Information Science

Computer Science

Computer Systems

DOI

10.1145/3387940.3392215

More information

Latest update

1/3/2024 9