English
Related papers

Related papers: Automating TODO-missed Methods Detection and Patch…

200 papers

Language models are aligned to emulate the collective voice of many, resulting in outputs that align with no one in particular. Steering LLMs away from generic output is possible through supervised finetuning or RLHF, but requires…

Computation and Language · Computer Science 2025-04-22 Omar Shaikh , Michelle S. Lam , Joey Hejna , Yijia Shao , Hyundong Cho , Michael S. Bernstein , Diyi Yang

In software development and maintenance, code comments can help developers understand source code, and improve communication among developers. However, developers sometimes neglect to update the corresponding comment when changing the code,…

Software Engineering · Computer Science 2024-03-04 Yuan Huang , Yinan Chen , Xiangping Chen , Xiaocong Zhou

Context: Previous studies demonstrate that Machine or Deep Learning (ML/DL) models can detect Technical Debt from source code comments called Self-Admitted Technical Debt (SATD). Despite the importance of ML/DL in software development,…

Software Engineering · Computer Science 2024-08-23 Emmanuel Iko-Ojo Simon , Chirath Hettiarachchi , Alex Potanin , Hanna Suominen , Fatemeh Fard

Annotated data is an essential ingredient in natural language processing for training and evaluating machine learning models. It is therefore very desirable for the annotations to be of high quality. Recent work, however, has shown that…

Computation and Language · Computer Science 2022-09-27 Jan-Christoph Klie , Bonnie Webber , Iryna Gurevych

Self-Admitted Technical Debt (SATD) is a special form of technical debt in which developers intentionally record their hacks in the code by adding comments for attention. Here, we focus on issue-related "On-hold SATD", where developers…

Timely patching is paramount to safeguard users and maintainers against dire consequences of malicious attacks. In practice, patching is prioritized following the nature of the code change that is committed in the code repository. When such…

Software Engineering · Computer Science 2020-01-27 Arthur D. Sawadogo , Tegawendé F. Bissyandé , Naouel Moha , Kevin Allix , Jacques Klein , Li Li , Yves Le Traon

Developers often opt for easier but non-optimal implementation to meet deadlines or create rapid prototypes, leading to additional effort known as technical debt to improve the code later. Oftentimes, developers explicitly document the…

Software Engineering · Computer Science 2026-02-10 Ibuki Nakamura , Yutaro Kashiwa , Bin Lin , Hajimu Iida

Developers use logging statements to track software runtime behaviors and system status. Yet, unclear or misleading logs can hide true execution patterns and hinder software maintenance. Current research on logging statement issues is…

Software Engineering · Computer Science 2025-04-23 Renyi Zhong , Yichen Li , Jinxi Kuang , Wenwei Gu , Yintong Huo , Michael R. Lyu

Automated Program Repair (APR) techniques have shown more and more promising results in fixing real-world bugs. Despite the effectiveness, APR techniques still face an overfitting problem: a generated patch can be incorrect although it…

Software Engineering · Computer Science 2024-03-26 Xin Zhou , Bowen Xu , Kisub Kim , DongGyun Han , Thanh Le-Cong , Junda He , Bach Le , David Lo

In the process of software evolution, developers often sacrifice the long-term code quality to satisfy the short-term goals due to specific reasons, which is called technical debt. In particular, self-admitted technical debt (SATD) refers…

Software Engineering · Computer Science 2019-10-30 Zhaoqiang Guo , Shiran Liu , Jinping Liu , Yanhui Li , Lin Chen , Hongmin Lu , Yuming Zhou , Baowen Xu

Self-Admitted Technical Debt (SATD) refers to the phenomenon where developers explicitly acknowledge technical debt through comments in the source code. While considerable research has focused on detecting and addressing SATD, its true…

Software Engineering · Computer Science 2025-02-06 Shaiful Chowdhury , Hisham Kidwai , Muhammad Asaduzzaman

Technical debt refers to the consequences of sub-optimal decisions made during software development that prioritize short-term benefits over long-term maintainability. Self-Admitted Technical Debt (SATD) is a specific form of technical…

Software Engineering · Computer Science 2026-04-28 Yikun Li , Mohamed Soliman , Paris Avgeriou , Jie Tan , Jiakun Liu

Software and systems traceability is essential for downstream tasks such as data-driven software analysis and intelligent tool development. However, despite the increasing attention to mining and understanding technical debt in software…

Software Engineering · Computer Science 2023-04-18 Mohammad Sadegh Sheikhaei , Yuan Tian

Gradual typing enables developers to annotate types of their own choosing, offering a flexible middle ground between no type annotations and a fully statically typed language. As more and more code bases get type-annotated, static type…

Software Engineering · Computer Science 2024-01-15 Yiu Wai Chow , Luca Di Grazia , Michael Pradel

Program errors can occur in any type of programming, and can manifest in a variety of ways, such as unexpected output, crashes, or performance issues. And program error diagnosis can often be too abstract or technical for developers to…

Software Engineering · Computer Science 2025-01-07 Zhenyu Xu , Victor S. Sheng

Technical debt (TD) is a metaphor for code-related problems that arise as a result of prioritizing speedy delivery over perfect code. Given that the reduction of TDs can have long-term positive impact in the software engineering life-cycle…

Software Engineering · Computer Science 2022-01-13 Junaed Younus Khan , Gias Uddin

Code reviews are popular in both industrial and open source projects. The benefits of code reviews are widely recognized and include better code quality and lower likelihood of introducing bugs. However, since code review is a manual…

Software Engineering · Computer Science 2021-05-20 Rosalia Tufano , Luca Pascarella , Michele Tufano , Denys Poshyvanyk , Gabriele Bavota

Overfitting is a common problem in machine learning, which means the model too closely fits the training data while performing poorly in the test data. Among various methods of coping with overfitting, dropout is one of the representative…

Machine Learning · Computer Science 2022-05-17 Yangkun Li , Weizhi Ma , Chong Chen , Min Zhang , Yiqun Liu , Shaoping Ma , Yuekui Yang

Refactoring is a maintenance activity that aims to improve design quality while preserving the behavior of a system. Several (semi)automated approaches have been proposed to support developers in this maintenance activity, based on the…

Software Engineering · Computer Science 2019-05-20 Rodrigo Morales , Foutse Khomh , Giuliano Antoniol

Most Self-Admitted Technical Debt (SATD) research utilizes explicit SATD features such as 'TODO' and 'FIXME' for SATD detection. A closer look reveals several SATD research uses simple SATD ('Easy to Find') code comments without the…

Software Engineering · Computer Science 2023-08-14 Murali Sridharan , Leevi Rantala , Mika Mäntylä