English
Related papers

Related papers: Empirical Study of Co-Renamed Identifiers

200 papers

Term rewriting plays a crucial role in software verification and compiler optimization. With dozens of highly parameterizable techniques developed to prove various system properties, automatic term rewriting tools work in an extensive…

Logic in Computer Science · Computer Science 2025-08-01 Liao Zhang , Fabian Mitterwallner , Jan Jakubuv , Cezary Kaliszyk

Refactoring is one of the most important activities in software engineering which is used to improve the quality of a software system. With the advancement of deep learning techniques, researchers are attempting to apply deep learning…

Software Engineering · Computer Science 2024-05-01 Bridget Nyirongo , Yanjie Jiang , He Jiang , Hui Liu

Variable and function names are extremely important for program comprehension. It is therefore also important to study how developers select names. But controlled experiments on naming are hindered by the need to describe to experimental…

Software Engineering · Computer Science 2021-03-17 Omer Regev , Michael Soloveitchik , Dror G. Feitelson

Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure. Not only researchers, but also practitioners, need to know about past…

Software Engineering · Computer Science 2018-08-08 Eunjong Choi , Kenji Fujiwara , Norihiro Yoshida , Shinpei Hayashi

Before any software maintenance can occur, developers must read the identifier names found in the code to be maintained. Thus, high-quality identifier names are essential for productive program comprehension and maintenance activities. With…

Software Engineering · Computer Science 2022-03-16 Anthony Peruma , Christian D. Newman

Large Language Models (LLMs), like ChatGPT, have gained widespread popularity and usage in various software engineering tasks, including refactoring, testing, code review, and program comprehension. Despite recent studies delving into…

Software Engineering · Computer Science 2024-02-12 Eman Abdullah AlOmar , Anushkrishna Venkatakrishnan , Mohamed Wiem Mkaouer , Christian D. Newman , Ali Ouni

Refactoring is the art of improving the design of a system without altering its external behavior. Refactoring has become a well established and disciplined software engineering practice that has attracted a significant amount of research…

Software Engineering · Computer Science 2021-03-26 Eman Abdullah AlOmar , Anthony Peruma , Mohamed Wiem Mkaouer , Christian Newman , Ali Ouni , Marouane Kessentini

Well-trained machine-learning models, which leverage large amounts of open-source software data, have now become an interesting approach to automating many software engineering tasks. Several SE tasks have all been subject to this approach,…

Software Engineering · Computer Science 2022-02-04 Toufique Ahmed , Premkumar Devanbu

In software engineering (SE) tasks, the naming approach is so important that it attracts many scholars from all over the world to study how to improve the quality of method names. To accurately recommend method names, we employ a novel…

Software Engineering · Computer Science 2022-01-25 Weidong Wang , Dian Li , Yujian Kang

Code review is a common practice in software development and often conducted before code changes are merged into the code repository. A number of approaches for automatically recommending appropriate reviewers have been proposed to match…

Software Engineering · Computer Science 2023-04-25 Ruiyin Li , Peng Liang , Paris Avgeriou

Code refactoring is a fundamental software engineering practice aimed at improving code quality and maintainability. Despite its importance, developers often neglect refactoring due to the significant time, effort, and resources it…

Refactoring aims at improving code non-functional attributes without modifying its external behavior. Previous studies investigated the motivations behind refactoring by surveying developers. With the aim of generalizing and complementing…

Research scientists increasingly rely on implementing software to support their research. While previous research has examined the impact of identifier names on program comprehension in traditional programming environments, limited work has…

Software Engineering · Computer Science 2025-07-23 Gunnar Larsen , Carol Wong , Anthony Peruma

Name matching is a key component of systems for entity resolution or record linkage. Alternative spellings of the same names are a com- mon occurrence in many applications. We use the largest collection of genealogy person records in the…

Information Retrieval · Computer Science 2014-05-09 Jeffrey Sukharev , Leonid Zhukov , Alexandrin Popescul

Sampling diverse programs from a code language model and reranking with model likelihood is a popular method for code generation but it is prone to preferring degenerate solutions. Inspired by collaborative programming, we propose…

Machine Learning · Computer Science 2022-11-30 Tianyi Zhang , Tao Yu , Tatsunori B. Hashimoto , Mike Lewis , Wen-tau Yih , Daniel Fried , Sida I. Wang

All over the world, future parents are facing the task of finding a suitable given name for their child. This choice is influenced by different factors, such as the social context, language, cultural background and especially personal…

Information Retrieval · Computer Science 2013-02-20 Folke Mitzlaff , Gerd Stumme

The way developers collaborate inside and particularly across teams often escapes management's attention, despite a formal organization with designated teams being defined. Observability of the actual, organically formed engineering…

Software Engineering · Computer Science 2019-05-17 Waren Long , Vadim Markovtsev , Hugo Mougard , Egor Bulychev , Jan Hula

User identity linkage is a task of recognizing the identities of the same user across different social networks (SN). Previous works tackle this problem via estimating the pairwise similarity between identities from different SN, predicting…

Machine Learning · Computer Science 2019-11-01 Xiaoxue Li , Yanan Cao , Yanmin Shang , Yangxi Li , Yanbing Liu , Jianlong Tan

An essential part of software maintenance and evolution, refactoring is performed by developers, regardless of technology or domain, to improve the internal quality of the system, and reduce its technical debt. However, choosing the…

Software Engineering · Computer Science 2021-10-26 Anthony Peruma , Steven Simmons , Eman Abdullah AlOmar , Christian D. Newman , Mohamed Wiem Mkaouer , Ali Ouni

Code-recommendation systems, such as Copilot and CodeWhisperer, have the potential to improve programmer productivity by suggesting and auto-completing code. However, to fully realize their potential, we must understand how programmers…

Software Engineering · Computer Science 2024-04-23 Hussein Mozannar , Gagan Bansal , Adam Fourney , Eric Horvitz