Skip to main navigation Skip to search Skip to main content

Relation-based test case prioritization for regression testing

  • Xi'an Jiaotong University
  • University of California at Riverside
  • Western Michigan University

Research output: Contribution to journal › Article › peer-review

49 Scopus citations

Abstract

Test case prioritization (TCP), which aims at detecting faults as early as possible is broadly used in program regression testing. Most existing TCP techniques exploit coverage information with the hypothesis that higher coverage has more chance to catch bugs. Static structure information such as function and statement are frequently employed as coverage granularity. However, the former consumes less costs but presents lower capability to detect faults, the latter typically incurs more overhead. In this paper, dynamic function call sequences are argued that can guide TCP effectively. Same set of functions/statements can exhibit very different execution behaviors. Therefore, mapping program behaviors to unit-based (function/statement) coverage may not be enough to predict fault detection capability. We propose a new approach AGC (Additional Greedy method Call sequence). Our approach leverages dynamic relation-based coverage as measurement to extend the original additional greedy coverage algorithm in TCP techniques. We conduct our experiments on eight real-world java open source projects and systematically compare AGC against 22 state-of-the-art TCP techniques with different granularities. Results show that AGC outperforms existing techniques on large programs in terms of bug detection capability, and also achieves the highest mean APFD value. The performance demonstrates a growth trend as the size of the program increases.

Original languageEnglish
Article number110539
JournalJournal of Systems and Software
Volume163
DOIs
StatePublished - May 2020

Keywords

  • Dynamic call sequence
  • Software testing
  • Test case prioritization

Fingerprint

Dive into the research topics of 'Relation-based test case prioritization for regression testing'. Together they form a unique fingerprint.

Cite this