scispace - formally typeset
Proceedings ArticleDOI

Search-Based Software Testing: Past, Present and Future

TLDR
Past work and the current state of the art on Search-Based Software Testing are reviewed, and potential future research areas and open problems that remain in the field are discussed.
Abstract
Search-Based Software Testing is the use of a meta-heuristic optimizing search technique, such as a Genetic Algorithm, to automate or partially automate a testing task, for example the automatic generation of test data. Key to the optimization process is a problem-specific fitness function. The role of the fitness function is to guide the search to good solutions from a potentially infinite search space, within a practical time limit. Work on Search-Based Software Testing dates back to 1976, with interest in the area beginning to gather pace in the 1990s. More recently there has been an explosion of the amount of work. This paper reviews past work and the current state of the art, and discusses potential future research areas and open problems that remain in the field.

read more

Citations
More filters
Journal ArticleDOI

The Oracle Problem in Software Testing: A Survey

TL;DR: This paper provides a comprehensive survey of current approaches to the test oracle problem and an analysis of trends in this important area of software testing research and practice.
Journal ArticleDOI

An orchestrated survey of methodologies for automated software test case generation

TL;DR: An orchestrated survey of the most prominent techniques for automatic generation of software test cases, reviewed in self-standing sections, aimed at giving an introductory, up-to-date and (relatively) short overview of research in automatic test case generation.
Proceedings ArticleDOI

FairFuzz: a targeted mutation strategy for increasing greybox fuzz testing coverage

TL;DR: FairFuzz as discussed by the authors proposes a two-pronged approach to increase the coverage achieved by American Fuzzy Lop (AFL) by automatically identifying branches exercised by few AFL-produced inputs (rare branches).

Search Based Software Engineering: Techniques, Taxonomy, Tutorial.

TL;DR: This tutorial will present the reader with a step-by-step guide to the application of SBSE techniques to Software Engineering, and assumes neither previous knowledge nor experience with Search Based Optimisation.
Journal ArticleDOI

Automated Test Case Generation as a Many-Objective Optimisation Problem with Dynamic Selection of the Targets

TL;DR: DynaMOSA is presented, a novel many-objective solver specifically designed to address the test case generation problem in the context of coverage testing and outperforms its predecessor MOSA for all the three coverage criteria.
References
More filters
Journal ArticleDOI

Optimization by Simulated Annealing

TL;DR: There is a deep and useful connection between statistical mechanics and multivariate or combinatorial optimization (finding the minimum of a given function depending on many parameters), and a detailed analogy with annealing in solids provides a framework for optimization of very large and complex systems.
Journal ArticleDOI

A genetic algorithm tutorial

TL;DR: This tutorial covers the canonical genetic algorithm as well as more experimental forms of genetic algorithms, including parallel island models and parallel cellular genetic algorithms.
Journal ArticleDOI

What every computer scientist should know about floating-point arithmetic

TL;DR: This paper presents a tutorial on the aspects of floating-point that have a direct impact on designers of computer systems, and concludes with examples of how computer system builders can better support floating point.
Journal ArticleDOI

Search‐based software test data generation: a survey

TL;DR: Some of the work undertaken in the use of metaheuristic search techniques for the automatic generation of test data is surveyed, discussing possible new future directions of research for each of its different individual areas.
Journal ArticleDOI

The N-Version Approach to Fault-Tolerant Software

TL;DR: Principal requirements for the implementation of N-version software are summarized and the DEDIX distributed supervisor and testbed for the execution of N -version software is described.
Related Papers (5)