An effective test suite can be desirable for its ability to protect the code when introducing changes aiming at providing further functionalities, for refactoring, etc. An ample test suite, while taking considerable resources and time to execute, could be as effective as a smaller one having the same code coverage. This paper proposes an approach to reduce the number of test cases needed while ensuring the same code coverage of a large test suite. The approach is totally automatic, comprising test cases generation, code coverage computation, and reduction on the number of test cases. For finding the minimum subset of test cases, the code coverage problem has been formulated as a Set Cover problem. Our solution is based on Integer Linear Programming and on the properties of the Control Flow Graph. We evaluated the proposed solution on four sample software systems. The results show a drastic reduction on the number of tests, hence their execution time.

A Network-Based Approach for Reducing Test Suites While Maintaining Code Coverage

mongiovì;fornaia;tramontana
2019-01-01

Abstract

An effective test suite can be desirable for its ability to protect the code when introducing changes aiming at providing further functionalities, for refactoring, etc. An ample test suite, while taking considerable resources and time to execute, could be as effective as a smaller one having the same code coverage. This paper proposes an approach to reduce the number of test cases needed while ensuring the same code coverage of a large test suite. The approach is totally automatic, comprising test cases generation, code coverage computation, and reduction on the number of test cases. For finding the minimum subset of test cases, the code coverage problem has been formulated as a Set Cover problem. Our solution is based on Integer Linear Programming and on the properties of the Control Flow Graph. We evaluated the proposed solution on four sample software systems. The results show a drastic reduction on the number of tests, hence their execution time.
2019
978-3-030-36682-7
Test cases, static analysis, graph analysis
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.11769/377443
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 3
  • ???jsp.display-item.citation.isi??? 0
social impact