Abstract
Retrieving relevant test cases is a recurring theme in software validation. We present an approach for cluster-based retrieval of test cases for software validation. The approach uses a probabilistic notion of coverage among line-based test profiles and can potentially discover groups of test cases executing a small number of unique lines. The distribution of lines across test profiles are analyzed to determine the number of clusters and generate a clustering structure without any additional user input. We also propose a novel and simple approach to identify test cases that are affected by software changes based on test profiles. It is shown that the clustering structures generated can be used to select affected tests economically to produce high quality regression test suites. The approach is applied to four unix utility programs from a popular testing benchmark. Our results show that the generated number of clusters and their average sizes closely track their estimates based on test profiles. The retrieval of affected tests using the clustering structure is economical and produces a good quality regression test suite.
Original language | English (US) |
---|---|
Pages (from-to) | 1033-1052 |
Number of pages | 20 |
Journal | International Journal of Software Engineering and Knowledge Engineering |
Volume | 25 |
Issue number | 6 |
DOIs | |
State | Published - Aug 1 2015 |
Keywords
- Probabilistic clustering
- software maintenance
- software testing
ASJC Scopus subject areas
- Software
- Computer Networks and Communications
- Computer Graphics and Computer-Aided Design
- Artificial Intelligence