English
Related papers

Related papers: Code Clone Refactoring in C# with Lambda Expressio…

200 papers

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

The sound identification of refactoring opportunities is still an open problem in software engineering. Recent studies have shown the effectiveness of machine learning models in recommending methods that should undergo different refactoring…

Software Engineering · Computer Science 2021-07-23 David van der Leij , Jasper Binda , Robbert van Dalen , Pieter Vallen , Yaping Luo , Maurício Aniche

Code clone is a serious problem in software and has the potential to software defects, maintenance overhead, and licensing violations. Therefore, clone detection is important for reducing maintenance effort and improving code quality during…

Software Engineering · Computer Science 2020-10-12 Min Fu , Gang Luo , Xi Zheng , Tianyi Zhang , Dongjin Yu , Miryung Kim

Software systems are getting more complex as the system grows where maintaining such system is a primary concern for the industry. Code clone is one of the factors making software maintenance more difficult. It is a process of replicating…

Software Engineering · Computer Science 2012-05-28 Md. Monzur Morshed , Md. Arifur Rahman , Salah Uddin Ahmed

Nowadays, software testing professionals are commonly required to develop coding skills to work on test automation. One essential skill required from those who code is the ability to implement code refactoring, a valued quality aspect of…

Detecting code clones is relevant to software maintenance and code refactoring. This challenge still presents unresolved cases, mainly when structural similarity does not reflect functional equivalence, though recent code models show…

Software Engineering · Computer Science 2025-06-16 Jorge Martinez-Gil

The capability of accurately determining code similarity is crucial in many tasks related to software development. For example, it might be essential to identify code duplicates for performing software maintenance. This research introduces…

Software Engineering · Computer Science 2025-04-25 Jorge Martinez-Gil

Commutativity has proven to be a powerful tool in reasoning about concurrent programs. Recent work has shown that a commutativity-based reduction of a program may admit simpler proofs than the program itself. The framework of…

Programming Languages · Computer Science 2023-11-07 Azadeh Farzan , Dominik Klumpp , Andreas Podelski

Modern code review is a widely used technique employed in both industrial and open-source projects to improve software quality, share knowledge, and ensure adherence to coding standards and guidelines. During code review, developers may…

Software Engineering · Computer Science 2022-03-29 Eman Abdullah AlOmar , Moataz Chouchen , Mohamed Wiem Mkaouer , Ali Ouni

Code changes are an integral part of the software development process. Many code changes are meant to improve the code without changing its functional behavior, e.g., refactorings and performance improvements. Unfortunately, validating…

Software Engineering · Computer Science 2025-02-25 Lars Gröninger , Beatriz Souza , Michael Pradel

Source code clones pose risks ranging from intellectual property violations to unintended vulnerabilities. Effective and efficient scalable clone detection, especially for diverged clones, remains challenging. Large language models (LLMs)…

Software Engineering · Computer Science 2025-10-20 Muslim Chochlov , Gul Aftab Ahmed , James Vincent Patten , Yuanhua Han , Guoxian Lu , David Gregg , Jim Buckley

We introduce program splicing, a programming methodology that aims to automate the commonly used workflow of copying, pasting, and modifying code available online. Here, the programmer starts by writing a "draft" that mixes unfinished code,…

Programming Languages · Computer Science 2017-05-26 Yanxin Lu , Swarat Chaudhuri , Chris Jermaine , David Melski

Code clone detection is a critical task in software engineering, aimed at identifying duplicated or similar code fragments within or across software systems. Traditional methods often fail to capture functional equivalence, particularly for…

Software Engineering · Computer Science 2025-08-05 Yunhao Liang , Ruixuan Ying , Takuya Taniguchi , Guwen Lyu , Zhe Cui

Iteratively improving and repairing source code with large language models (LLMs), known as refinement, has emerged as a popular way of generating programs that would be too complex to construct in one shot. Given a bank of test cases,…

Software Engineering · Computer Science 2024-10-31 Hao Tang , Keya Hu , Jin Peng Zhou , Sicheng Zhong , Wei-Long Zheng , Xujie Si , Kevin Ellis

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…

In this study, we explore advanced strategies for enhancing software quality by detecting and refactoring data clumps, special types of code smells. Our approach transcends the capabilities of integrated development environments, utilizing…

Software Engineering · Computer Science 2024-03-07 Nils Baumgartner , Elke Pulvermüller

Code completion, which aims to predict the following code token(s) according to the code context, can improve the productivity of software development. Recent work has proved that statistical language modeling with transformers can greatly…

Software Engineering · Computer Science 2022-03-16 Shuai Lu , Nan Duan , Hojae Han , Daya Guo , Seung-won Hwang , Alexey Svyatkovskiy

With the rapid development of deep learning, the implementation of intricate algorithms and substantial data processing have become standard elements of deep learning projects. As a result, the code has become progressively complex as the…

Software Engineering · Computer Science 2025-08-05 Siqi Wang , Xing Hu , Bei Wang , Wenxin Yao , Xin Xia , Xinyu Wang

Code super-optimization is the task of transforming any given program to a more efficient version while preserving its input-output behaviour. In some sense, it is similar to the paraphrase problem from natural language processing where the…

Machine Learning · Computer Science 2017-06-29 Rudy Bunel , Alban Desmaison , M. Pawan Kumar , Philip H. S. Torr , Pushmeet Kohli

Recent years have seen growing interest in the retrofitting of type systems onto dynamically-typed programming languages, in order to improve type safety, programmer productivity, or performance. In such cases, type system developers must…

Programming Languages · Computer Science 2016-05-05 Esben Andreasen , Colin S. Gordon , Satish Chandra , Manu Sridharan , Frank Tip , Koushik Sen