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 • 8 Feb 2023 • Rosalia Tufano, Luca Pascarella, Gabriele Bavota
Then, we pre-train 32 transformers using both (i) generic pre-training objectives usually adopted in SE; and (ii) pre-training objectives tailored to specific code-related tasks subject of our experimentation, namely bug-fixing, code summarization, and code completion.
1 code implementation • 5 Feb 2021 • Luca Pascarella, Simone Scalabrino, Rosalia Tufano, Gabriele Bavota, Michele Lanza, Rocco Oliveto
Once built, we used the oracle to evaluate several variants of the SZZ algorithm in terms of their accuracy.
Software Engineering
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 • 28 Sep 2020 • Rungroj Maipradit, Bin Lin, Csaba Nagy, Gabriele Bavota, Michele Lanza, Hideaki Hata, Kenichi Matsumoto
Self-admitted technical debt (SATD) is a particular form of technical debt: developers consciously perform the hack but also document it in the code by adding comments as a reminder (or as an admission of guilt).
Software Engineering
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.
2 code implementations • 24 Oct 2019 • Nargiz Humbatova, Gunel Jahangirova, Gabriele Bavota, Vincenzo Riccio, Andrea Stocco, Paolo Tonella
The growing application of deep neural networks in safety-critical domains makes the analysis of faults that occur in such systems of enormous importance.
no code implementations • 25 Jan 2019 • Michele Tufano, Jevgenija Pantiuchina, Cody Watson, Gabriele Bavota, Denys Poshyvanyk
We show that, when applied in a narrow enough context (i. e., small/medium-sized pairs of methods before/after the pull request changes), NMT can automatically replicate the changes implemented by developers during pull requests in up to 36% of the cases.
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
no code implementations • 11 Apr 2017 • Mario Linares-Vasquez, Gabriele Bavota, Camilo Escobar-Velasquez
Most of these studies focused on vulnerabilities that could affect mobile apps, while just few investigated vulnerabilities affecting the underlying platform on which mobile apps run: the Operating System (OS).
Software Engineering Cryptography and Security