REDUNET: reducing test suites by integrating set cover and network-based optimization

Abstract The availability of effective test suites is critical for the development and maintenance of reliable software systems. To increase test effectiveness, software developers tend to employ larger and larger test suites. The recent availability of software tools for automatic test generation m...

Full description

Bibliographic Details
Main Authors: Misael Mongiovì, Andrea Fornaia, Emiliano Tramontana
Format: Article
Language:English
Published: SpringerOpen 2020-11-01
Series:Applied Network Science
Subjects:
Online Access:http://link.springer.com/article/10.1007/s41109-020-00323-w
_version_ 1818173179732951040
author Misael Mongiovì
Andrea Fornaia
Emiliano Tramontana
author_facet Misael Mongiovì
Andrea Fornaia
Emiliano Tramontana
author_sort Misael Mongiovì
collection DOAJ
description Abstract The availability of effective test suites is critical for the development and maintenance of reliable software systems. To increase test effectiveness, software developers tend to employ larger and larger test suites. The recent availability of software tools for automatic test generation makes building large test suites affordable, therefore contributing to accelerating this trend. However, large test suites, though more effective, are resources and time consuming and therefore cannot be executed frequently. Reducing them without decreasing code coverage is a needed compromise between efficiency and effectiveness of the test, hence enabling a more regular check of the software under development. We propose a novel approach, namely REDUNET, to reduce a test suite while keeping the same code coverage. We integrate this approach in a complete framework for the automatic generation of efficient and effective test suites, which includes test suite generation, code coverage analysis, and test suite reduction. Our approach formulates the test suite reduction as a set cover problem and applies integer linear programming and a network-based optimisation, which takes advantage of the properties of the control flow graph. We find the optimal set of test cases that keeps the same code coverage in fractions of seconds on real software projects and test suites generated automatically by Randoop. The results on ten real software systems show that the proposed approach finds the optimal minimisation and achieves up to 90% reduction and more than 50% reduction on all systems under analysis. On the largest project our reduction algorithm performs more than three times faster than both integer linear programming alone and the state-of-the-art heuristic Harrold Gupta Soffa.
first_indexed 2024-12-11T19:24:24Z
format Article
id doaj.art-6001b29f3ee947cf839a54bb786fa3b1
institution Directory Open Access Journal
issn 2364-8228
language English
last_indexed 2024-12-11T19:24:24Z
publishDate 2020-11-01
publisher SpringerOpen
record_format Article
series Applied Network Science
spelling doaj.art-6001b29f3ee947cf839a54bb786fa3b12022-12-22T00:53:27ZengSpringerOpenApplied Network Science2364-82282020-11-015112110.1007/s41109-020-00323-wREDUNET: reducing test suites by integrating set cover and network-based optimizationMisael Mongiovì0Andrea Fornaia1Emiliano Tramontana2ISTC CNRDipartimento di Matematica e Informatica, University of CataniaDipartimento di Matematica e Informatica, University of CataniaAbstract The availability of effective test suites is critical for the development and maintenance of reliable software systems. To increase test effectiveness, software developers tend to employ larger and larger test suites. The recent availability of software tools for automatic test generation makes building large test suites affordable, therefore contributing to accelerating this trend. However, large test suites, though more effective, are resources and time consuming and therefore cannot be executed frequently. Reducing them without decreasing code coverage is a needed compromise between efficiency and effectiveness of the test, hence enabling a more regular check of the software under development. We propose a novel approach, namely REDUNET, to reduce a test suite while keeping the same code coverage. We integrate this approach in a complete framework for the automatic generation of efficient and effective test suites, which includes test suite generation, code coverage analysis, and test suite reduction. Our approach formulates the test suite reduction as a set cover problem and applies integer linear programming and a network-based optimisation, which takes advantage of the properties of the control flow graph. We find the optimal set of test cases that keeps the same code coverage in fractions of seconds on real software projects and test suites generated automatically by Randoop. The results on ten real software systems show that the proposed approach finds the optimal minimisation and achieves up to 90% reduction and more than 50% reduction on all systems under analysis. On the largest project our reduction algorithm performs more than three times faster than both integer linear programming alone and the state-of-the-art heuristic Harrold Gupta Soffa.http://link.springer.com/article/10.1007/s41109-020-00323-wTest suite reductionStatic analysisGraph analysisNetwork analysis
spellingShingle Misael Mongiovì
Andrea Fornaia
Emiliano Tramontana
REDUNET: reducing test suites by integrating set cover and network-based optimization
Applied Network Science
Test suite reduction
Static analysis
Graph analysis
Network analysis
title REDUNET: reducing test suites by integrating set cover and network-based optimization
title_full REDUNET: reducing test suites by integrating set cover and network-based optimization
title_fullStr REDUNET: reducing test suites by integrating set cover and network-based optimization
title_full_unstemmed REDUNET: reducing test suites by integrating set cover and network-based optimization
title_short REDUNET: reducing test suites by integrating set cover and network-based optimization
title_sort redunet reducing test suites by integrating set cover and network based optimization
topic Test suite reduction
Static analysis
Graph analysis
Network analysis
url http://link.springer.com/article/10.1007/s41109-020-00323-w
work_keys_str_mv AT misaelmongiovi redunetreducingtestsuitesbyintegratingsetcoverandnetworkbasedoptimization
AT andreafornaia redunetreducingtestsuitesbyintegratingsetcoverandnetworkbasedoptimization
AT emilianotramontana redunetreducingtestsuitesbyintegratingsetcoverandnetworkbasedoptimization