106 citations · 471 across the 46 of their papers we have counts for
51 papers · 1 filter
Enhancing Code Understanding for Impact Analysis by Combining Transformers and Program Dependence Graphs
Yanfu Yan, Nathan Cooper, Kevin Moran +3
Impact analysis (IA) is a critical software maintenance task that identifies the effects of a given set of code changes on a larger software project with the intention of avoiding…
Writing Bug Reports for Software Repair Agents: What Information Matters Most?
Vincenzo Luigi Bruno, Alessandro Giagnorio, Daniele Bifolco +3
Software development is increasingly moving toward agentic-first workflows. This includes AI agents responsible for generating initial fixes for submitted issue reports. In this se…
How do Copilot Suggestions Impact Developers' Frustration and Productivity?
Emanuela Guglielmi, Venera Arnoudova, Gabriele Bavota +2
Context. AI-based development tools, such as GitHub Copilot, are transforming the software development process by offering real-time code suggestions. These tools promise to improv…
Evaluating the Impact of Post-Training Quantization on Large Language Models for Code Generation
Alessandro Giagnorio, Antonio Mastropaolo, Saima Afrin +2
Large Language Models (LLMs) have shown an impressive capability in code generation. The LLM effectiveness generally increases with its size: The higher the number of LLM's trainab…
A Taxonomy of Self-Admitted Technical Debt in Deep Learning Systems
Federica Pepe, Fiorella Zampetti, Antonio Mastropaolo +2
The development of Machine Learning (ML)- and, more recently, of Deep Learning (DL)-intensive systems requires suitable choices, e.g., in terms of technology, algorithms, and hyper…
How the Training Procedure Impacts the Performance of Deep Learning-based Vulnerability Patching
Antonio Mastropaolo, Vittoria Nardone, Gabriele Bavota +1
Generative deep learning (DL) models have been successfully adopted for vulnerability patching. However, such models require the availability of a large dataset of patches to learn…
On the Generalizability of Deep Learning-based Code Completion Across Programming Language Versions
Matteo Ciniselli, Alberto Martin-Lopez, Gabriele Bavota
Code completion is a key feature of Integrated Development Environments (IDEs), aimed at predicting the next tokens a developer is likely to write, helping them write code faster a…
Unveiling ChatGPT's Usage in Open Source Projects: A Mining-based Study
Rosalia Tufano, Antonio Mastropaolo, Federica Pepe +3
Large Language Models (LLMs) have gained significant attention in the software engineering community. Nowadays developers have the possibility to exploit these models through indus…
Towards Summarizing Code Snippets Using Pre-Trained Transformers
Antonio Mastropaolo, Matteo Ciniselli, Luca Pascarella +3
When comprehending code, a helping hand may come from the natural language comments documenting it that, unfortunately, are not always there. To support developers in such a scenar…
Code Review Automation: Strengths and Weaknesses of the State of the Art
Rosalia Tufano, Ozren Dabić, Antonio Mastropaolo +2
The automation of code review has been tackled by several researchers with the goal of reducing its cost. The adoption of deep learning in software engineering pushed the automatio…
Evaluating Code Summarization Techniques: A New Metric and an Empirical Characterization
Antonio Mastropaolo, Matteo Ciniselli, Massimiliano Di Penta +1
Several code summarization techniques have been proposed in the literature to automatically document a code snippet or a function. Ideally, software developers should be involved i…
Log Statements Generation via Deep Learning: Widening the Support Provided to Developers
Antonio Mastropaolo, Valentina Ferrari, Luca Pascarella +1
Logging assists in monitoring events that transpire during the execution of software. Previous research has highlighted the challenges confronted by developers when it comes to log…
Toward Automatically Completing GitHub Workflows
Antonio Mastropaolo, Fiorella Zampetti, Gabriele Bavota +1
Continuous integration and delivery (CI/CD) are nowadays at the core of software development. Their benefits come at the cost of setting up and maintaining the CI/CD pipeline, whic…
Towards Automatically Addressing Self-Admitted Technical Debt: How Far Are We?
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 s…
Using Gameplay Videos for Detecting Issues in Video Games
Emanuela Guglielmi, Simone Scalabrino, Gabriele Bavota +1
Context. The game industry is increasingly growing in recent years. Every day, millions of people play video games, not only as a hobby, but also for professional competitions (e.g…
Automatically Generating Dockerfiles via Deep Learning: Challenges and Promises
Giovanni Rosa, Antonio Mastropaolo, Simone Scalabrino +2
Containerization allows developers to define the execution environment in which their software needs to be installed. Docker is the leading platform in this field, and developers t…
Source Code Recommender Systems: The Practitioners' Perspective
Matteo Ciniselli, Luca Pascarella, Emad Aghajani +3
The automatic generation of source code is one of the long-lasting dreams in software engineering research. Several techniques have been proposed to speed up the writing of new cod…
Automating Code-Related Tasks Through Transformers: The Impact of Pre-training
Rosalia Tufano, Luca Pascarella, Gabriele Bavota
Transformers have gained popularity in the software engineering (SE) literature. These deep learning models are usually pre-trained through a self-supervised objective, meant to pr…
On the Robustness of Code Generation Techniques: An Empirical Study on GitHub Copilot
Antonio Mastropaolo, Luca Pascarella, Emanuela Guglielmi +4
Software engineering research has always being concerned with the improvement of code completion approaches, which suggest the next tokens a developer will likely type while coding…
Automated Variable Renaming: Are We There Yet?
Antonio Mastropaolo, Emad Aghajani, Luca Pascarella +1
Identifiers, such as method and variable names, form a large portion of source code. Therefore, low-quality identifiers can substantially hinder code comprehension. To support deve…
Don't Reinvent the Wheel: Towards Automatic Replacement of Custom Implementations with APIs
Rosalia Tufano, Emad Aghajani, Gabriele Bavota
Reusing code is a common practice in software development: It helps developers speedup the implementation task while also reducing the chances of introducing bugs, given the assump…
Detecting Connectivity Issues in Android Apps
Alejandro Mazuera-Rozo, Camilo Escobar-Velásquez, Juan Espitia-Acero +2
Android is the most popular mobile operating system in the world, running on more than 70% of mobile devices. This implies a gigantic and very competitive market for Android apps.…
Using Transfer Learning for Code-Related Tasks
Antonio Mastropaolo, Nathan Cooper, David Nader Palacio +4
Deep learning (DL) techniques have been used to support several code-related tasks such as code summarization and bug-fixing. In particular, pre-trained transformer models are on t…
AI-driven Development Is Here: Should You Worry?
Neil Ernst, Gabriele Bavota
AI-Driven Development Environments (AIDEs) Integrate the power of modern AI into IDEs like Visual Studio Code and JetBrains IntelliJ. By leveraging massive language models and the…