314 citations · 808 across the 14 of their papers we have counts for
14 papers · 1 filter
How are We Detecting Inconsistent Method Names? An Empirical Study from Code Review Perspective
Kisub Kim, Xin Zhou, Dongsun Kim +6
Proper naming of methods can make program code easier to understand, and thus enhance software maintainability. Yet, developers may use inconsistent names due to poor communication…
LeakPair: Proactive Repairing of Memory Leaks in Single Page Web Applications
Arooba Shahoor, Askar Yeltayuly Khamit, Jooyong Yi +1
Modern web applications often resort to application development frameworks such as React, Vue.js, and Angular. While the frameworks facilitate the development of web applications w…
Unveiling Memorization in Code Models
Zhou Yang, Zhipeng Zhao, Chenyu Wang +4
The availability of large-scale datasets, advanced architectures, and powerful computational resources have led to effective code models that automate diverse software engineering…
DexBERT: Effective, Task-Agnostic and Fine-grained Representation Learning of Android Bytecode
Tiezhu Sun, Kevin Allix, Kisub Kim +5
The automation of a large number of software engineering tasks is becoming possible thanks to Machine Learning (ML). Central to applying ML to software artifacts (like source or ex…
On the Efficiency of Test Suite based Program Repair: A Systematic Assessment of 16 Automated Repair Systems for Java Programs
Kui Liu, Shangwen Wang, Anil Koyuncu +7
Test-based automated program repair has been a prolific field of research in software engineering in the last decade. Many approaches have indeed been proposed, which leverage test…
iFixR: Bug Report driven Program Repair
Anil Koyuncu, Kui Liu, Tegawendé F. Bissyandé +4
Issue tracking systems are commonly used in modern software development for collecting feedback from users and developers. An ultimate automation target of software maintenance is…
TBar: Revisiting Template-based Automated Program Repair
Kui Liu, Anil Koyuncu, Dongsun Kim +1
We revisit the performance of template-based APR to build comprehensive knowledge about the effectiveness of fix patterns, and to highlight the importance of complementary steps su…
D&C: A Divide-and-Conquer Approach to IR-based Bug Localization
Anil Koyuncu, Tegawendé F. Bissyandé, Dongsun Kim +4
Many automated tasks in software maintenance rely on information retrieval techniques to identify specific information within unstructured data. Bug localization is such a typical…
Impact of Tool Support in Patch Construction
Anil Koyuncu, Tegawendé F. Bissyandé, Dongsun Kim +3
In this work, we investigate the practice of patch construction in the Linux kernel development, focusing on the differences between three patching processes: (1) patches crafted e…
You Cannot Fix What You Cannot Find! An Investigation of Fault Localization Bias in Benchmarking Automated Program Repair Systems
Kui Liu, Anil Koyuncu, Tegawendé F. Bissyandé +3
Properly benchmarking Automated Program Repair (APR) systems should contribute to the development and adoption of the research outputs by practitioners. To that end, the research c…
AVATAR : Fixing Semantic Bugs with Fix Patterns of Static Analysis Violations
Kui Liu, Anil Koyuncu, Dongsun Kim +1
Fix pattern-based patch generation is a promising direction in Automated Program Repair (APR). Notably, it has been demonstrated to produce more acceptable and correct patches than…
FixMiner: Mining Relevant Fix Patterns for Automated Program Repair
Anil Koyuncu, Kui Liu, Tegawendé F. Bissyandé +4
Patching is a common activity in software development. It is generally performed on a source code base to address bugs or add new functionalities. In this context, given the recurr…
Mining Fix Patterns for FindBugs Violations
Kui Liu, Dongsun Kim, Tegawendé F. Bissyandé +2
In this paper, we first collect and track a large number of fixed and unfixed violations across revisions of software. The empirical analyses reveal that there are discrepancies in…
Watch out for This Commit! A Study of Influential Software Changes
Daoyuan Li, Li Li, Dongsun Kim +3
One single code change can significantly influence a wide range of software systems and their users. For example, 1) adding a new feature can spread defects in several modules, whi…