A similarity metric for the inputs of OO programs and its application in adaptive random testing

Jinfu Chen, Fei Ching Kuo, Tsong Yueh Chen, Dave Towey, Chenfei Su, Rubing Huang

Research output: Journal PublicationArticlepeer-review

28 Citations (Scopus)

Abstract

Random testing (RT) has been identified as one of the most popular testing techniques, due to its simplicity and ease of automation. Adaptive random testing (ART) has been proposed as an enhancement to RT, improving its fault-detection effectiveness by evenly spreading random test inputs across the input domain. To achieve the even spreading, ART makes use of distance measurements between consecutive inputs. However, due to the nature of object-oriented software (OOS), its distance measurement can be particularly challenging: Each input may involve multiple classes, and interaction of objects through method invocations. Two previous studies have reported on how to test OOS at a single-class level using ART. In this study, we propose a new similarity metric to enable multiclass level testing using ART. When generating test inputs (for multiple classes, a series of objects, and a sequence of method invocations), we use the similarity metric to calculate the distance between two series of objects, and between two sequences of method invocations.We integrate this metric with ART and apply it to a set of open-source OO programs, with the empirical results showing that our approach outperforms other RT and ART approaches in OOS testing.

Original languageEnglish
Article number2628759
Pages (from-to)373-402
Number of pages30
JournalIEEE Transactions on Reliability
Volume66
Issue number2
DOIs
Publication statusPublished - Jun 2017

Keywords

  • Adaptive random testing (ART)
  • Method invocation
  • Object distance
  • Object-oriented software (OOS) testing
  • Test input distance

ASJC Scopus subject areas

  • Safety, Risk, Reliability and Quality
  • Electrical and Electronic Engineering

Fingerprint

Dive into the research topics of 'A similarity metric for the inputs of OO programs and its application in adaptive random testing'. Together they form a unique fingerprint.

Cite this