Sections

Skip to content. | Skip to navigation

You are here: Home Research Software Engineering Publications Runtime Analysis of Search Algorithms in Software Testing

A. Arcuri (2010)

Runtime Analysis of Search Algorithms in Software Testing

Submitted to journal

Search algorithms have been used to tackle software engineering problems with promising results. Although the field has attracted a lot of attention recently, it still lacks a theoretical foundation. It has been empirically shown that search algorithms are successful in some software engineering tasks, but we need to understand why and when they are successful. The long term goal is to get insight into how search algorithms work on software engineering problems, so we can exploit this knowledge to design more efficient algorithms. Runtime Analysis is a type of theoretical investigation that aims to determine, via rigorous mathematical proofs, the time a search algorithm needs to find an optimal solution. Runtime analysis has previously been carried out on traditional combinatorial problems. In this paper, we advocate that runtime analysis would be helpful in search based software engineering as well. We give the first runtime analysis of search heuristics in the software testing domain. In particular, we mathematically prove the runtime of several different search algorithms applied to test data generation for branch coverage of the Triangle Classification problem. Furthermore, we prove runtime of local search algorithms on an infinitely large class of software. The theoretical results are used to get insight of search based software testing.
Document Actions
Personal tools