English
Related papers

Related papers: The Paradox of Function Header Comments

200 papers

The context of this work is specification, detection and ultimately removal of detectable harmful patterns in source code that are associated with defects in design and implementation of software. In particular, we investigate five code…

Software Engineering · Computer Science 2017-04-03 Nicole Vavrová , Vadim Zaytsev

Code completion has become a common practice for programmers during their daily programming activities. It aims at automatically predicting the next tokens or lines that the programmers tend to use. A good code completion tool can…

Software Engineering · Computer Science 2023-01-11 Chaozheng Wang , Junhao Hu , Cuiyun Gao , Yu Jin , Tao Xie , Hailiang Huang , Zhenyu Lei , Yuetang Deng

Flaky tests are software tests that exhibit a seemingly random outcome (pass or fail) when run against the same, identical code. Previous work has examined fixes to flaky tests and has proposed automated solutions to locate as well as fix…

Software Engineering · Computer Science 2019-07-03 Moritz Eck , Fabio Palomba , Marco Castelluccio , Alberto Bacchelli

A software development screencast is a video that captures the screen of a developer working on a particular task while explaining its implementation details. Due to the increased popularity of software development screencasts (e.g.,…

Software Engineering · Computer Science 2017-08-03 Mathias Ellmann , Alexander Oeser , Davide Fucci , Walid Maalej

LLM-generated code is widely used, and the share of committed code produced by LLMs is expected to increase. However, we are not at a point where LLMs can be effective contributors to production code. We present an approach that exposes the…

Software Engineering · Computer Science 2026-04-28 Chun Jie Chong , Muyeed Ahmed , Zhihao , Yao , Iulian Neamtiu

Each programming language comes with official documentation to guide developers with APIs, methods, and classes. However, in some cases, official documentation is not an efficient way to get the needed information. As a result, developers…

Software Engineering · Computer Science 2023-11-08 AmirHossein Naghshzan

Large language models (LLMs) like ChatGPT have shown the potential to assist developers with coding and debugging tasks. However, their role in collaborative issue resolution is underexplored. In this study, we analyzed 1,152…

Software Engineering · Computer Science 2024-12-12 Joy Krishan Das , Saikat Mondal , Chanchal K. Roy

Self-admitted technical debt (SATD) is a particular case of Technical Debt (TD) where developers explicitly acknowledge their sub-optimal implementation decisions. Previous studies mine SATD by searching for specific TD-related terms in…

Software Engineering · Computer Science 2020-03-23 Laerte Xavier , Fabio Ferreira , Rodrigo Brito , Marco Tulio Valente

Learning tasks through videos is a dynamic way to acquire skills by witnessing entire processes. However, compared to in-person demonstrations, videos may omit tacit knowledge, including subtle details and contextual nuances. Users' unique…

Human-Computer Interaction · Computer Science 2026-03-16 Nayoung Kim , Yotam Sechayk , Zhongyi Zhou , Takeo Igarashi

Background: Bots help automate many of the tasks performed by software developers and are widely used to commit code in various social coding platforms. At present, it is not clear what types of activities these bots perform and…

Software Engineering · Computer Science 2020-11-10 Tapajit Dey , Bogdan Vasilescu , Audris Mockus

Source Code Summarization is the task of writing short, natural language descriptions of source code. The main use for these descriptions is in software documentation e.g. the one-sentence Java method descriptions in JavaDocs. Code…

Computation and Language · Computer Science 2019-04-05 Alexander LeClair , Collin McMillan

Documenting code snippets is essential to pinpoint key areas where both developers and users should pay attention. Examples include usage examples and other Application Programming Interfaces (APIs), which are especially important for…

Good comments help developers understand software faster and provide better maintenance. However, comments are often missing, generally inaccurate, or out of date. Many of these problems can be avoided by automatic comment generation. This…

Software Engineering · Computer Science 2018-10-17 Sergey Matskevich , Colin S. Gordon

Software Documentation plays a major role in the usage and development of a project. Widespread adoption of open source software projects contributes to larger and faster development of the projects, making it difficult to maintain the…

Software Engineering · Computer Science 2025-08-26 Akhila Sri Manasa Venigalla , Sridhar Chimalakonda

Industrial process engineering and PLC program development have traditionally favored Function Block Diagram (FBD) programming over classical imperative style programming like the object oriented and functional programming paradigms. The…

Software Engineering · Computer Science 2023-04-11 Oluwatosin Ogundare , Gustavo Quiros Araya , Yassine Qamsane

Large Language Models (LLMs) have demonstrated impressive abilities in recent years with regards to code generation and understanding. However, little work has investigated how documentation and other code properties affect an LLM's ability…

Software Engineering · Computer Science 2024-04-05 William Macke , Michael Doyle

While protecting user data is essential, software developers often fail to fulfill privacy requirements. However, the reasons why they struggle with privacy-compliant implementation remain unclear. Is it due to a lack of knowledge, or is it…

TODO comments are widely used by developers to remind themselves or others about incomplete tasks. In other words, TODO comments are usually associated with temporary or suboptimal solutions. In practice, all the equivalent suboptimal…

Software Engineering · Computer Science 2024-05-13 Zhipeng Gao , Yanqi Su , Xing Hu , Xin Xia

Agentic coding tools receive goals written in natural language as input, break them down into specific tasks, and write or execute the actual code with minimal human intervention. Central to this process are agent context files ("READMEs…

Computational research and data analytics increasingly relies on complex ecosystems of open source software (OSS) "libraries" -- curated collections of reusable code that programmers import to perform a specific task. Software documentation…

Computers and Society · Computer Science 2018-06-01 R. Stuart Geiger , Nelle Varoquaux , Charlotte Mazel-Cabasse , Chris Holdgraf