English
Related papers

Related papers: ActRef: Enhancing the Understanding of Python Code…

200 papers

Refactoring is a software engineering practice that aims to improve code quality without altering program behavior. Although automated refactoring tools have been extensively studied, their practical applicability remains limited. Recent…

Software Engineering · Computer Science 2026-01-21 Alessandro Midolo , Emiliano Tramontana , Massimiliano Di Penta

Developers often refactor source code to improve its quality during software development. A challenge in refactoring is to determine if it can be applied or not. To help with this decision-making process, we aim to search for past…

Software Engineering · Computer Science 2023-10-04 Motoki Abe , Shinpei Hayashi

Although the dynamic type system of Python facilitates the developers in writing Python programs, it also brings type errors at run-time. There exist rule-based approaches for automatically repairing Python type errors. The approaches can…

Software Engineering · Computer Science 2023-06-05 Yun Peng , Shuzheng Gao , Cuiyun Gao , Yintong Huo , Michael R. Lyu

Software systems are evolving by adding new functions and modifying existing functions over time. Through the evolution, the structure of software is becoming more complex and so the understandability and maintainability of software systems…

Software Engineering · Computer Science 2014-08-22 Ginika Mahajan , Ashima

Mining repetitive code changes from version control history is a common way of discovering unknown change patterns. Such change patterns can be used in code recommender systems or automated program repair techniques. While there are such…

Software Engineering · Computer Science 2023-04-12 Akalanka Galappaththi , Sarah Nadi

Studying facial expressions is a notoriously difficult endeavor. Recent advances in the field of affective computing have yielded impressive progress in automatically detecting facial expressions from pictures and videos. However, much of…

Computer Vision and Pattern Recognition · Computer Science 2023-03-09 Jin Hyun Cheong , Eshin Jolly , Tiankang Xie , Sophie Byrne , Matthew Kenney , Luke J. Chang

Refactoring is the practice of improving software quality without altering its external behavior. Developers intuitively refactor their code for multiple purposes, such as improving program comprehension, reducing code complexity, dealing…

Computers and Society · Computer Science 2023-11-21 Eman Abdullah AlOmar , Mohamed Wiem Mkaouer , Ali Ouni

In the Python ecosystem, the adoption of idiomatic constructs has been fostered because of their expressiveness, increasing productivity and even efficiency, despite controversial arguments concerning familiarity or understandability…

Software Engineering · Computer Science 2025-01-29 Alessandro Midolo , Massimiliano Di Penta

Software refactoring is the process of changing the structure of software without any alteration in its behavior and functionality. Presuming it is carried out in appropriate opportunities, refactoring enhances software quality…

Software Engineering · Computer Science 2023-01-20 Hanieh Khosravi , Abbas Rasoolzadegan

Block-based programming languages like Scratch have become increasingly popular as introductory languages for novices. These languages are intended to be used with a "tinkering" approach which allows learners and teachers to quickly…

Context: Code refactoring is widely recognized as an essential software engineering practice that improves the understandability and maintainability of source code. Several studies attempted to detect refactoring activities through mining…

Software Engineering · Computer Science 2025-02-07 Eman Abdullah AlOmar

Modern programming languages, such as Python, support language features from several paradigms, such as object-oriented, procedural, and functional. Research has shown that code written in some paradigms can be harder to comprehend, but to…

Software Engineering · Computer Science 2025-11-12 Samuel W. Flint , Jigyasa Chauhan , Niloofar Mansoor , Bonita Sharif , Robert Dyer

Reliable handling of code diffs is central to agents that edit and refactor repositories at scale. We introduce Diff-XYZ, a compact benchmark for code-diff understanding with three supervised tasks: apply (old code $+$ diff $\rightarrow$…

Software Engineering · Computer Science 2025-11-18 Evgeniy Glukhov , Michele Conti , Egor Bogomolov , Yaroslav Golubev , Alexander Bezzubov

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

Existing datasets for multimodal table understanding, such as MMTab, primarily provide short factual answers without explicit multi-step reasoning supervision. Models trained on these datasets often generate brief responses that offers…

Artificial Intelligence · Computer Science 2026-01-28 Van-Quang Nguyen , Takayuki Okatani

Refactoring is an important activity that is frequently performed in software development, and among them, Extract Method is known to be one of the most frequently performed refactorings. The existing techniques for recommending Extract…

Software Engineering · Computer Science 2021-08-31 Jinto Yamanaka , Yasuhiro Hayase , Toshiyuki Amagasa

Refactoring is a practice widely adopted during software maintenance and evolution. Due to its importance, there is extensive work on the effectiveness of refactoring in achieving code quality. However, developer's intentions are usually…

Refactoring is widely recognized as one of the efficient techniques to manage technical debt and maintain a healthy software project through enforcing best design practices or coping with design defects. Previous refactoring surveys have…

Software Engineering · Computer Science 2021-09-24 Eman Abdullah AlOmar , Anthony Peruma , Mohamed Wiem Mkaouer , Christian D. Newman , Ali Ouni

We present Lean Refactor, a plug-and-play retrieval-augmented agentic framework for multi-objective, controllable, and version-robust refactoring of Lean proofs. LLM-generated proofs are notoriously correct-but-verbose and brittle across…

Logic in Computer Science · Computer Science 2026-05-21 Jialin Lu , Soonho Kong , Rodrigo Stehling , Kaiyu Yang , Zhangyang Wang , Weiran Sun , Wuyang Chen

Educational datamining involves the application of datamining techniques to student activity. However, in the context of computer programming, many datamining techniques can not be applied because they expect vector-shaped input whereas…

Machine Learning · Computer Science 2022-02-11 Benjamin Paaßen , Jessica McBroom , Bryn Jeffries , Irena Koprinska , Kalina Yacef