TY - GEN
T1 - An information retrieval approach for regression test prioritization based on program changes
AU - Saha, Ripon K.
AU - Zhang, Lingming
AU - Khurshid, Sarfraz
AU - Perry, Dewayne E.
N1 - Publisher Copyright:
© 2015 IEEE.
PY - 2015/8/12
Y1 - 2015/8/12
N2 - Regression testing is widely used in practice for validating program changes. However, running large regression suites can be costly. Researchers have developed several techniques for prioritizing tests such that the higher-priority tests have a higher likelihood of finding bugs. A vast majority of these techniques are based on dynamic analysis, which can be precise but can also have significant overhead (e.g., for program instrumentation and test-coverage collection). We introduce a new approach, REPiR, to address the problem of regression test prioritization by reducing it to a standard Information Retrieval problem such that the differences between two program versions form the query and the tests constitute the document collection. REPiR does not require any dynamic profiling or static program analysis. As an enabling technology we leverage the open-source IR toolkit Indri. An empirical evaluation using eight open-source Java projects shows that REPiR is computationally efficient and performs better than existing (dynamic or static) techniques for the majority of subject systems.
AB - Regression testing is widely used in practice for validating program changes. However, running large regression suites can be costly. Researchers have developed several techniques for prioritizing tests such that the higher-priority tests have a higher likelihood of finding bugs. A vast majority of these techniques are based on dynamic analysis, which can be precise but can also have significant overhead (e.g., for program instrumentation and test-coverage collection). We introduce a new approach, REPiR, to address the problem of regression test prioritization by reducing it to a standard Information Retrieval problem such that the differences between two program versions form the query and the tests constitute the document collection. REPiR does not require any dynamic profiling or static program analysis. As an enabling technology we leverage the open-source IR toolkit Indri. An empirical evaluation using eight open-source Java projects shows that REPiR is computationally efficient and performs better than existing (dynamic or static) techniques for the majority of subject systems.
KW - Information retrieval
KW - Regression testing
KW - Test prioritization
UR - http://www.scopus.com/inward/record.url?scp=84951789291&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84951789291&partnerID=8YFLogxK
U2 - 10.1109/ICSE.2015.47
DO - 10.1109/ICSE.2015.47
M3 - Conference contribution
AN - SCOPUS:84951789291
T3 - Proceedings - International Conference on Software Engineering
SP - 268
EP - 279
BT - Proceedings - 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, ICSE 2015
PB - IEEE Computer Society
T2 - 37th IEEE/ACM International Conference on Software Engineering, ICSE 2015
Y2 - 16 May 2015 through 24 May 2015
ER -