92 citations · 302 across the 15 of their papers we have counts for
13 papers · 1 filter
Using an LLM to Help With Code Understanding
Daye Nam, Andrew Macvean, Vincent Hellendoorn +2
Understanding code is challenging, especially when working in new and complex development environments. Code comments and documentation can help, but are typically scarce or hard t…
VarCLR: Variable Semantic Representation Pre-training via Contrastive Learning
Qibin Chen, Jeremy Lacomis, Edward J. Schwartz +3
Variable names are critical for conveying intended program behavior. Machine learning-based program analysis methods use variable name representations for a wide range of tasks, su…
Augmenting Decompiler Output with Learned Variable Names and Types
Qibin Chen, Jeremy Lacomis, Edward J. Schwartz +3
A common tool used by security professionals for reverse-engineering binaries found in the wild is the decompiler. A decompiler attempts to reverse compilation, transforming a bina…
In-IDE Code Generation from Natural Language: Promise and Challenges
Frank F. Xu, Bogdan Vasilescu, Graham Neubig
A great part of software development involves conceptualizing or communicating the underlying procedures and logic that needs to be expressed in programs. One major difficulty of p…
Multitasking Across Industry Projects: A Replication Study
Karina Kohl, Bogdan Vasilescu, Rafael Prikladnicki
Background: Multitasking is usual in software development. It is the ability to stop working on a task, switch to another, and return eventually to the first one, as needed or as s…
An Exploratory Study of Bot Commits
Tapajit Dey, Bogdan Vasilescu, Audris Mockus
Background: Bots help automate many of the tasks performed by software developers and are widely used to commit code in various social coding platforms. At present, it is not clear…
Detecting and Characterizing Bots that Commit Code
Tapajit Dey, Sara Mousavi, Eduardo Ponce +4
Background: Some developer activity traditionally performed manually, such as making code commits, opening, managing, or closing issues is increasingly subject to automation in man…
DIRE: A Neural Approach to Decompiled Identifier Naming
Jeremy Lacomis, Pengcheng Yin, Edward J. Schwartz +4
The decompiler is one of the most common tools for examining binaries without corresponding source code. It transforms binaries into high-level code, reversing the compilation proc…
A large-scale, in-depth analysis of developers' personalities in the Apache ecosystem
Fabio Calefato, Filippo Lanubile, Bogdan Vasilescu
Context: Large-scale distributed projects are typically the results of collective efforts performed by multiple developers with heterogeneous personalities. Objective: We aim to fi…
BugSwarm: Mining and Continuously Growing a Dataset of Reproducible Failures and Fixes
David A. Tomassi, Naji Dmeiri, Yichen Wang +5
Fault-detection, localization, and repair methods are vital to software quality; but it is difficult to evaluate their generality, applicability, and current effectiveness. Large,…
On Developers' Personality in Large-scale Distributed Projects: The Case of the Apache Ecosystem
Fabio Calefato, Giuseppe Iaffaldano, Filippo Lanubile +1
Large-scale distributed projects are typically the results of collective efforts performed by multiple developers, each one having a different personality. The study of developers'…
Initial and Eventual Software Quality Relating to Continuous Integration in GitHub
Yue Yu, Bogdan Vasilescu, Huaimin Wang +2
The constant demand for new features and bug fixes are forcing software projects to shorten cycles and deliver updates ever faster, while sustaining software quality. The availabil…
Continuous integration in a social-coding world: Empirical evidence from GitHub. **Updated version with corrections**
Bogdan Vasilescu, Stef van Schuylenburg, Jules Wulms +2
Continuous integration is a software engineering practice of frequently merging all developer working copies with a shared main branch, e.g., several times a day. With the advent o…