Balancing Frequencies and Fault Detection in the In-Parameter-Order Algorithm

Shi Wei Gao, Jiang Hua Lv, Bing Lei Du, Charles Colbourn, Shi Long Ma

Research output: Contribution to journalArticlepeer-review

8 Scopus citations

Abstract

The In-Parameter-Order (IPO) algorithm is a widely used strategy for the construction of software test suites for combinatorial testing (CT) whose goal is to reveal faults triggered by interactions among parameters. Variants of IPO have been shown to produce test suites within reasonable amounts of time that are often not much larger than the smallest test suites known. When an entire test suite is executed, all faults that arise from t-way interactions for some fixed t are surely found. However, when tests are executed one at a time, it is desirable to detect a fault as early as possible so that it can be repaired. The basic IPO strategies of horizontal and vertical growth address test suite size, but not the early detection of faults. In this paper, the growth strategies in IPO are modified to attempt to evenly distribute the values of each parameter across the tests. Together with a reordering strategy that we add, this modification to IPO improves the rate of fault detection dramatically (improved by 31% on average). Moreover, our modifications always reduce generation time (2 times faster on average) and in some cases also reduce test suite size.

Original languageEnglish (US)
Pages (from-to)957-968
Number of pages12
JournalJournal of Computer Science and Technology
Volume30
Issue number5
DOIs
StatePublished - Sep 22 2015

Keywords

  • IPO
  • combinatorial testing
  • expected time to fault detection
  • software under test
  • test suite generation

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computer Science Applications
  • Computational Theory and Mathematics

Fingerprint

Dive into the research topics of 'Balancing Frequencies and Fault Detection in the In-Parameter-Order Algorithm'. Together they form a unique fingerprint.

Cite this