Table of Contents
Advances in Software Engineering
Volume 2016 (2016), Article ID 7132404, 20 pages
http://dx.doi.org/10.1155/2016/7132404
Research Article

A Slice-Based Change Impact Analysis for Regression Test Case Prioritization of Object-Oriented Programs

Department of Computer Science and Engineering, National Institute of Technology, Rourkela, Sundergarh, Odisha 769008, India

Received 28 September 2015; Revised 26 January 2016; Accepted 31 January 2016

Academic Editor: Xudong He

Copyright © 2016 S. Panda et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

Test case prioritization focuses on finding a suitable order of execution of the test cases in a test suite to meet some performance goals like detecting faults early. It is likely that some test cases execute the program parts that are more prone to errors and will detect more errors if executed early during the testing process. Finding an optimal order of execution for the selected regression test cases saves time and cost of retesting. This paper presents a static approach to prioritizing the test cases by computing the affected component coupling (ACC) of the affected parts of object-oriented programs. We construct a graph named affected slice graph (ASG) to represent these affected program parts. We determine the fault-proneness of the nodes of ASG by computing their respective ACC values. We assign higher priority to those test cases that cover the nodes with higher ACC values. Our analysis with mutation faults shows that the test cases executing the fault-prone program parts have a higher chance to reveal faults earlier than other test cases in the test suite. The result obtained from seven case studies justifies that our approach is feasible and gives acceptable performance in comparison to some existing techniques.