1 code implementation • 17 Aug 2023 • Antonio Mastropaolo, Massimiliano Di Penta, Gabriele Bavota
Upon evolving their software, organizations and individual developers have to spend a substantial effort to pay back technical debt, i. e., the fact that software is released in a shape not as good as it should be, e. g., in terms of functionality, reliability, or maintainability.
1 code implementation • 5 Jan 2021 • Jevgenija Pantiuchina, Fiorella Zampetti, Simone Scalabrino, Valentina Piantadosi, Rocco Oliveto, Gabriele Bavota, Massimiliano Di Penta
Our results led to (i) quantitative evidence of the relationship existing between certain process/product metrics and refactoring operations and (ii) a detailed taxonomy, generalizing and complementing the ones existing in the literature, of motivations pushing developers to refactor source code.
Software Engineering
no code implementations • 31 Mar 2020 • Aalok Ahluwalia, Massimiliano Di Penta, Davide Falessi
Our results show that, on average across projects: (i) the presence of snoring decreases the recall of defect prediction classifiers; (ii) evaluations affected by snoring are likely unable to identify the best classifiers, and (iii) removing data from recent releases helps to significantly improve the accuracy of the classifiers.
no code implementations • 12 Feb 2020 • Michele Tufano, Jason Kimko, Shiya Wang, Cody Watson, Gabriele Bavota, Massimiliano Di Penta, Denys Poshyvanyk
To this aim, two characteristics of mutation testing frameworks are of paramount importance: (i) they should generate mutants that are representative of real faults; and (ii) they should provide a complete tool chain able to automatically generate, inject, and test the mutants.
no code implementations • 27 Dec 2018 • Michele Tufano, Cody Watson, Gabriele Bavota, Massimiliano Di Penta, Martin White, Denys Poshyvanyk
Starting from code fixed by developers in the context of a bug-fix, our empirical evaluation showed that our models are able to predict mutants that resemble original fixed bugs in between 9% and 45% of the cases (depending on the model).
Software Engineering