Automatic Test Improvement with DSpot: a Study with Ten Mature Open-Source Projects - Inria - Institut national de recherche en sciences et technologies du numérique
Article Dans Une Revue Empirical Software Engineering Année : 2019

Automatic Test Improvement with DSpot: a Study with Ten Mature Open-Source Projects

Résumé

In the literature, there is a rather clear segregation between manually written tests by developers and automatically generated ones. In this paper, we explore a third solution: to automatically improve existing test cases written by developers. We present the concept, design and implementation of a system called DSpot, that takes developer-written test cases as input (JUnit tests in Java) and synthesizes improved versions of them as output. Those test improvements are given back to developers as patches or pull requests, that can be directly integrated in the main branch of the test code base. We have evaluated DSpot in a deep, systematic manner over 40 real-world unit test classes from 10 notable and open-source software projects. We have amplified all test methods from those 40 unit test classes. In 26/40 cases, DSpot is able to automatically improve the test under study, by triggering new behaviors andadding new valuable assertions. Next, for ten projects under consideration, wehave proposed a test improvement automatically synthesized by DSpot to thelead developers. In total, 13/19 proposed test improvements were accepted bythe developers and merged into the main code base. This shows that DSpotis capable of automatically improving unit-tests in real-world, large scale Java software.
Fichier principal
Vignette du fichier
_EmSE18__Automatic_Test_Improvement_with_DSpot__a_Study_with_Ten_Mature_Open_Source_Projects.pdf (1.89 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01923575 , version 1 (15-11-2018)

Identifiants

Citer

Benjamin Danglot, Oscar Luis Vera-Pérez, Benoit Baudry, Martin Monperrus. Automatic Test Improvement with DSpot: a Study with Ten Mature Open-Source Projects. Empirical Software Engineering, 2019, pp.1-35. ⟨10.1007/s10664-019-09692-y⟩. ⟨hal-01923575⟩
498 Consultations
2273 Téléchargements

Altmetric

Partager

More