SOFTWARE: PRACTICE AND EXPERIENCE Softw. Pract. Exper. (2017) Published online in Wiley Online Library (wileyonlinelibrary.com). DOI: 10.1002/spe.2485 Regression test suite minimization using integer linear programming model S. Panda 1, * ,† and D. P. Mohapatra 2 1 Department of CSIS, BITS-PILANI, Hyderabad, 500078, India 2 Department of Computer Science and Engineering, National Institute of Technology, Rourkela 769008, India SUMMARY Software testers always face the dilemma of whether to retest the software with all the test cases or select a few of them on the basis of their fault detection ability. This paper introduces a novel approach to minimizing the test suite as an integer linear programming problem with optimal results. The minimization method uses the cohesion values of the program parts affected by the changes made to the program. The hypothesis is that the program parts with low cohesion values are more prone to errors. This assumption is validated on the mutation fault detection ability of the test cases. The experimental study carried out on 30 programs evaluates the effectiveness and usefulness of the proposed framework. The experimental results show that the minimized test suite can efficiently reveal the errors and ensure acceptable software quality. Copyright © 2017 John Wiley & Sons, Ltd. Received 1 October 2015; Revised 23 November 2016; Accepted 10 January 2017 KEY WORDS: regression testing; test case prioritization; test case minimization; cohesion; integer linear programming; Softw. Pract. Exper. 1. INTRODUCTION Systems often undergo a series of small changes owing to maintenance activities. A small change in some portion of the code can induce some errors in the unchanged portions of the system. Every tester faces the following two challenges: (1) to identify the impact of change on other portions of the system, (2) to detect the faults as early as possible during testing. This necessitates the testing of the complete system with all the available test cases after testing the modified parts of the system. This is known as retest all approach. This approach requires to exhaust the available test suite to validate the impact of every change made to the system under consideration. The adverse impact of ‘retest all approach’ may result in missing the project deadline and incurring huge cost of retesting the system for every change. Thus, the system needs to undergo selective regression testing to validate the impact of changes and overcome the problem of time and cost overhead of retesting. Regression test case selection promises to detect acceptable number of faults with a reduced number of test cases. However, sometimes, the selected test suite can still appear enormous and redundant, and strict delivery schedule can hinder adequate regression testing. Hence, it is essential to minimize the test suite. In a scenario of constrained time and budget, it is difficult for the testers to determine the minimum number of test cases that can ensure satisfactory testing. The regression test selection approach focuses on reducing the time and effort required to retest a modified program by selecting a subset of the given test suite. Therefore, regression test selection techniques [1–5] attempt to identify only those test cases that can exercise the modified parts of the program and the parts that are affected by the modifications to reduce the cost of testing. Thus, given a program P and its *Correspondence to: S. Panda, Department of Computer Science and Information Systems, BITS-PILANI, Hyderabad- 500078, India. E-mail: subhrakanta11@gmail.com Copyright © 2017 John Wiley & Sons, Ltd.