English
Related papers

Related papers: CodeMapper: A Language-Agnostic Approach to Mappin…

200 papers

The migration process between different third-party libraries is hard, complex and error-prone. Typically, during a library migration, developers need to find methods in the new library that are most adequate in replacing the old methods of…

Software Engineering · Computer Science 2019-06-07 Hussein Alrubaye , Mohamed Wiem Mkaouer , Ali Ouni

Comments within source code are essential for developers to comprehend the code's purpose and ensure its correct usage. However, as codebases evolve, maintaining an accurate alignment between the comments and the code becomes increasingly…

Software Engineering · Computer Science 2024-02-06 Anh T. V. Dau , Jin L. C. Guo , Nghi D. Q. Bui

Commit messages explain code changes in a commit and facilitate collaboration among developers. Several commit message generation approaches have been proposed; however, they exhibit limited success in capturing the context of code changes.…

Software Engineering · Computer Science 2024-02-06 Abhinav Reddy Mandli , Saurabhsingh Rajput , Tushar Sharma

There are often multiple ways to implement the same requirement in source code. Different implementation choices can result in code snippets that are similar, and have been defined in multiple ways: code clones, examples, simions and…

Software Engineering · Computer Science 2020-06-16 Venkatesh Vinayakarao , Devika Sondhi , Sumit Keswani , Rahul Purandare , Anita Sarma

The C and C++ programming languages are widely used for the implementation of software in critical systems. They are complex languages with subtle features and peculiarities that might baffle even the more expert programmers. Hence, the…

Programming Languages · Computer Science 2022-12-29 Roberto Bagnara , Abramo Bagnara , Patricia M. Hill

Software is used in critical applications in our day-to-day life and it is important to ensure its correctness. One popular approach to assess correctness is to evaluate software on tests. If a test fails, it indicates a fault in the…

Software Engineering · Computer Science 2025-04-01 Max Hort , Leon Moonen

Context: In the realm of software development, maintaining high software quality is a persistent challenge. However, this challenge is often impeded by the lack of comprehensive understanding of how specific code modifications influence…

Software Engineering · Computer Science 2024-04-08 Thomas Karanikiotis , Andreas L. Symeonidis

Code ownership -- an approximation of the degree of ownership of a software component -- is one of the important software measures used in quality improvement plans. However, prior studies proposed different variants of code ownership…

Software Engineering · Computer Science 2024-08-26 Patanamon Thongtanunam , Chakkrit Tantithamthavorn

In software development, it is common for programmers to copy-paste or port code snippets and then adapt them to their use case. This scenario motivates the code adaptation task -- a variant of program repair which aims to adapt variable…

Software Engineering · Computer Science 2023-10-09 Xiaoyu Liu , Jinu Jang , Neel Sundaresan , Miltiadis Allamanis , Alexey Svyatkovskiy

Code review is a well-established and valued practice in the software engineering community contributing to both code quality and interpersonal benefits. However, there are challenges in both tools and processes that give rise to…

Software Engineering · Computer Science 2025-07-15 Lo Gullstrand Heander , Emma Söderberg , Christofer Rydenfält

Computer programs written in one language are often required to be ported to other languages to support multiple devices and environments. When programs use language specific APIs (Application Programming Interfaces), it is very challenging…

Software Engineering · Computer Science 2017-04-26 Xiaodong Gu , Hongyu Zhang , Dongmei Zhang , Sunghun Kim

Representing code changes as numeric feature vectors, i.e., code change representations, is usually an essential step to automate many software engineering tasks related to code changes, e.g., commit message generation and just-in-time…

Software Engineering · Computer Science 2023-02-09 Zhongxin Liu , Zhijie Tang , Xin Xia , Xiaohu Yang

Since programming concepts do not match their syntactic representations, code search is a very tedious task. For instance in Java or C, array doesn't match [], so using "array" as a query, one cannot find what they are looking for. Often…

Information Retrieval · Computer Science 2019-04-01 Deepak Thukral , Darvesh Punia

Developers spend 70% of their time understanding code. Code that is easy to read can save time, while hard-to-read code can lead to the introduction of bugs. However, it is difficult to establish what makes code more understandable.…

Software Engineering · Computer Science 2021-10-05 Delano Oliveira

Code clones are code snippets that are identical or similar to other snippets within the same or different files. They are often created through copy-and-paste practices and modified during development and maintenance activities. Since a…

Software Engineering · Computer Science 2024-09-16 Reishi Yokomori , Katsuro Inoue

MapReduce is a popular programming paradigm for developing large-scale, data-intensive computation. Many frameworks that implement this paradigm have recently been developed. To leverage these frameworks, however, developers must become…

Databases · Computer Science 2018-06-20 Maaz Bin Safeer Ahmad , Alvin Cheung

Background: Modern Code Review (MCR) is a key component for delivering high-quality software and sharing knowledge among developers. Effective reviews require an in-depth understanding of the code and demand from the reviewers to…

Software Engineering · Computer Science 2024-02-16 Michael Unterkalmsteiner , Deepika Badampudi , Ricardo Britto , Nauman bin Ali

Mobile devices and platforms have become an established target for modern software developers due to performant hardware and a large and growing user base numbering in the billions. Despite their popularity, the software development process…

Software Engineering · Computer Science 2018-07-20 Kevin Moran , Carlos Bernal Cardenas , Mario Linares Vasquez , Denys Poshyvanyk

Abstract syntax tree (AST) mapping algorithms are widely used to analyze changes in source code. Despite the foundational role of AST mapping algorithms, little effort has been made to evaluate the accuracy of AST mapping algorithms, i.e.,…

Software Engineering · Computer Science 2021-03-02 Yuanrui Fan , Xin Xia , David Lo , Ahmed E. Hassan , Yuan Wang , Shanping Li

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 and with less effort. Modern code completion approaches are…

Software Engineering · Computer Science 2024-03-25 Matteo Ciniselli , Alberto Martin-Lopez , Gabriele Bavota