Search based software testing of object-oriented containers

Andrea ARCURI, Xin YAO

Research output: Journal PublicationsJournal Article (refereed)peer-review

83 Citations (Scopus)

Abstract

Automatic software testing tools are still far from ideal for real world object-oriented (OO) software. The use of nature inspired search algorithms for this problem has been investigated recently. Testing complex data structures (e.g., containers) is very challenging since testing software with simple states is already hard. Because containers are used in almost every type of software, their reliability is of utmost importance. Hence, this paper focuses on the difficulties of testing container classes with nature inspired search algorithms. We will first describe how input data can be automatically generated for testing Java containers. Input space reductions and a novel testability transformation are presented to aid the search algorithms. Different search algorithms are then considered and studied in order to understand when and why a search algorithm is effective for a testing problem. In our experiments, these nature inspired search algorithms seem to give better results than the traditional techniques described in literature. Besides, the problem of minimising the length of the test sequences is also addressed. Finally, some open research questions are given. © 2007 Elsevier Inc. All rights reserved.
Original languageEnglish
Pages (from-to)3075-3095
Number of pages21
JournalInformation Sciences
Volume178
Issue number15
Early online date2 Jan 2008
DOIs
Publication statusPublished - Aug 2008
Externally publishedYes

Bibliographical note

This work is supported by an EPSRC grant (EP/D052785/1). The authors wish to thank Ramón Sagarna and Per Kristian Lehre for the useful discussions. The authors are also grateful to the anonymous referees of this paper for their constructive comments.

Keywords

  • Containers
  • Nature inspired algorithms
  • Object-oriented software
  • Search algorithms
  • Search based software engineering
  • Software testing
  • Testability transformations
  • White box testing

Fingerprint

Dive into the research topics of 'Search based software testing of object-oriented containers'. Together they form a unique fingerprint.

Cite this