English
Related papers

Related papers: RefactorHub: A Commit Annotator for Refactoring

200 papers

Refactoring is a well-known technique that is widely adopted by software engineers to improve the design and enable the evolution of a system. Knowing which refactoring operations were applied in a code change is a valuable information to…

Software Engineering · Computer Science 2018-08-07 Danilo Silva , Marco Tulio Valente

Complex software can be hard to read, adapt, and maintain. Refactoring it can create cleaner and self-explanatory code. Refactoring tools try to guide developers towards better code, with more quality. However, most of them take too long to…

Software Engineering · Computer Science 2023-07-21 Sara Fernandes , Ademar Aguiar , André Restivo

Refactoring is a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behaviour. A database refactoring is a small change to the database schema which…

Software Engineering · Computer Science 2010-09-09 Patrick O'Beirne

Data annotation is an essential component of the machine learning pipeline; it is also a costly and time-consuming process. With the introduction of transformer-based models, annotation at the document level is increasingly popular;…

Computation and Language · Computer Science 2025-06-04 Owen Cook , Jake Vasilakes , Ian Roberts , Xingyi Song

Refactoring is a critical task in software maintenance, and is usually performed to enforce better design and coding practices, while coping with design defects. The Extract Method refactoring is widely used for merging duplicate code…

The concept of Self-Affirmed Refactoring (SAR) was introduced to explore how developers document their refactoring activities in commit messages, i.e., developers' explicit documentation of refactoring operations intentionally introduced…

Software Engineering · Computer Science 2020-09-22 Eman Abdullah AlOmar , Mohamed Wiem Mkaouer , Ali Ouni

Context: Modern code review is a widely employed technique in both industrial and open-source projects, serving to enhance software quality, share knowledge, and ensure compliance with coding standards and guidelines. While code review is…

Software Engineering · Computer Science 2025-01-31 Eman Abdullah AlOmar

A lot of real-world phenomena are complex and cannot be captured by single task annotations. This causes a need for subsequent annotations, with interdependent questions and answers describing the nature of the subject at hand. Even in the…

Computation and Language · Computer Science 2020-10-05 Moritz Wolf , Dana Ruiter , Ashwin Geet D'Sa , Liane Reiners , Jan Alexandersson , Dietrich Klakow

To refactor already working code while keeping reliability, compatibility and perhaps security, we can borrow ideas from micropass/nanopass compilers. By treating the procedure of software refactoring as composing code transformations, and…

Software Engineering · Computer Science 2023-08-15 Yu Liu

State-of-the-art computer vision approaches rely on huge amounts of annotated data. The collection of such data is a time consuming process since it is mainly performed by humans. The literature shows that semi-automatic annotation…

Computer Vision and Pattern Recognition · Computer Science 2019-11-05 Jonas Jäger , Gereon Reus , Joachim Denzler , Viviane Wolff , Klaus Fricke-Neuderth

Current approaches to the annotation process focus on annotation schemas, languages for annotation, or are very application driven. In this paper it is proposed that a more flexible architecture for annotation requires a knowledge component…

Digital Libraries · Computer Science 2007-05-23 Afzal Ballim , Nastaran Fatemi , Hatem Ghorbel , Vincenzo Pallotta

Modern software development requires developers to find and effectively utilize new APIs and their documentation, but documentation has many well-known issues. Despite this, developers eventually overcome these issues but have no way of…

Human-Computer Interaction · Computer Science 2022-01-12 Amber Horvath , Michael Xieyang Liu , River Hendriksen , Connor Shannon , Emma Paterson , Kazi Jawad , Andrew Macvean , Brad A. Myers

Software repositories such as Git have become a relevant source of information for software engineer researcher. For instance, the detection of Commits that fulfill a given criterion (e.g., bugfixing commits) is one of the most frequent…

Software Engineering · Computer Science 2019-06-11 Matias Martinez , Martin Monperrus

Creating linguistic annotations requires more than just a reliable annotation scheme. Annotation can be a complex endeavour potentially involving many people, stages, and tools. This chapter outlines the process of creating end-to-end…

Computation and Language · Computer Science 2016-02-19 Mark A. Finlayson , Tomaž Erjavec

Retrieval systems often fail when user queries differ stylistically or semantically from the language used in domain documents. Query rewriting has been proposed to bridge this gap, improving retrieval by reformulating user queries into…

Information Retrieval · Computer Science 2026-03-03 Jiyoon Myung , Jungki Son , Kyungro Lee , Jihyeon Park , Joohyung Han

Repository summarization is a crucial research question in development and maintenance for software engineering. Existing repository summarization techniques primarily focus on summarizing code according to the directory tree, which is…

Software Engineering · Computer Science 2025-10-14 Yifeng Zhu , Xianlin Zhao , Xutian Li , Yanzhen Zou , Haizhuo Yuan , Yue Wang , Bing Xie

The primary value of AI agents in software development lies in their ability to extend the developer's capacity for reasoning and action, not to supplant human involvement. To showcase how to use agents working in tandem with developers, we…

Software refactoring plays an important role in software engineering. Developers often turn to refactoring when they want to restructure software to improve its quality without changing its external behavior. Studies show that small-scale…

Software Engineering · Computer Science 2022-02-16 James Ivers , Robert L. Nord , Ipek Ozkaya , Chris Seifried , Christopher S. Timperley , Marouane Kessentini

When changing code, developers sometimes neglect updating the related comments, bringing inconsistent or outdated comments. These comments increase the cost of program understanding and greatly reduce software maintainability. Researchers…

Software Engineering · Computer Science 2022-05-03 Hongquan Zhu , Xincheng He , Lei Xu

We present a lightweight annotation tool, the Data AnnotatoR Tool (DART), for the general task of labeling structured data with textual descriptions. The tool is implemented as an interactive application that reduces human efforts in…

Computation and Language · Computer Science 2020-12-02 Ernie Chang , Jeriah Caplinger , Alex Marin , Xiaoyu Shen , Vera Demberg