English
Related papers

Related papers: Acknowledging Good Java Code with Code Perfumes

200 papers

Good code style improves program readability, maintainability, and collaboration, and is an integral component of software quality. Developers, however, often cut corners when following style rules, leading to the wide adoption of tools…

Software Engineering · Computer Science 2025-10-28 Ella Dodor , Cristina V. Lopes

Static analysis tools are frequently used to scan the source code and detect deviations from the project coding guidelines. Given their importance, linters are often introduced to classrooms to educate students on how to detect and…

Software Engineering · Computer Science 2023-07-20 Eman Abdullah AlOmar , Salma Abdullah AlOmar , Mohamed Wiem Mkaouer

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

Software design smells are design attributes which violate the fundamental design principles. Design smells are a key cause of design debt. Although the activities of design smell identification and measurement are predominantly considered…

Software Engineering · Computer Science 2019-10-15 Asif Imran , Tevfik Kosar

Dependencies between modules can trigger ripple effects when changes are made, making maintenance complex and costly, so minimizing these dependencies is crucial. Consequently, understanding what drives dependencies is important. One…

Software Engineering · Computer Science 2026-03-05 Zushuai Zhang , Elliott Wen , Ewan Tempero

Test smells, similar to code smells, can negatively impact both the test code and the production code being tested. Despite extensive research on test smells in languages like Java, Scala, and Python, automated tools for detecting test…

Software Engineering · Computer Science 2024-05-08 Partha P. Paul , Md Tonoy Akanda , M. Raihan Ullah , Dipto Mondal , Nazia S. Chowdhury , Fazle M. Tawsif

Large Language Models (LLMs), such as GitHub Copilot and ChatGPT have become popular among programming students. Students use LLMs to assist them in programming courses, including generating source code. Previous work has evaluated the…

Artificial Intelligence · Computer Science 2025-04-22 Emir Catir , Robin Claesson , Rodothea Myrsini Tsoupidi

Software design debt aims to elucidate the rectification attempts of the present design flaws and studies the influence of those to the cost and time of the software. Design smells are a key cause of incurring design debt. Although the…

Software Engineering · Computer Science 2023-10-24 Asif Imran , Tevfik Kosar

A code smell is a surface indicator of an inherent problem in the system, most often due to deviation from standard coding practices on the developers part during the development phase. Studies observe that code smells made the code more…

Software Engineering · Computer Science 2021-08-11 Himanshu Gupta , Abhiram Anand Gulanikar , Lov Kumar , Lalita Bhanu Murthy Neti

Code linters play a crucial role in developing high-quality software systems by detecting potential problems (e.g., memory leaks) in the source code of systems. Despite their benefits, code linters are often language-specific, focused on…

Software Engineering · Computer Science 2024-07-24 Darren Holden , Nafiseh Kahani

Artificial Intelligence (AI) and Machine Learning (ML) are pervasive in the current computer science landscape. Yet, there still exists a lack of software engineering experience and best practices in this field. One such best practice,…

Software Engineering · Computer Science 2021-03-09 Bart van Oort , Luís Cruz , Maurício Aniche , Arie van Deursen

A smell in software source code denotes an indication of suboptimal design and implementation decisions, potentially hindering the code understanding and, in turn, raising the likelihood of being prone to changes and faults. Identifying…

Software Engineering · Computer Science 2025-02-10 Anh Ho , Anh M. T. Bui , Phuong T. Nguyen , Amleto Di Salle , Bach Le

Context: Code annotations have gained widespread popularity in programming languages, offering developers the ability to attach metadata to code elements to define custom behaviors. Many modern frameworks and APIs use annotations to keep…

Software Engineering · Computer Science 2024-04-29 Eduardo Guerra , Everaldo Gomes , Jeferson Ferreira , Igor Wiese , Phyllipe Lima , Marco Gerosa , Paulo Meirelles

Programs are a kind of communication to both computers and people, hence as students are trained to write programs they need to learn to write well-designed, readable code rather than code that simply functions correctly. The difficulty in…

Computers and Society · Computer Science 2022-11-08 J. Walker Orr

This paper describes a new modelling language for the effective design of Java annotations. Since their inclusion in the 5th edition of Java, annotations have grown from a useful tool for the addition of meta-data to play a central role in…

Programming Languages · Computer Science 2019-10-02 Irene Córdoba , Juan de Lara

When human programmers have mastered a programming language, it would be easier when they learn a new programming language. In this report, we focus on exploring whether programming languages can boost each other during the instruction…

Computation and Language · Computer Science 2023-09-06 Daoguang Zan , Ailun Yu , Bo Shen , Jiaxin Zhang , Taihong Chen , Bing Geng , Bei Chen , Jichuan Ji , Yafen Yao , Yongji Wang , Qianxiang Wang

Elixir is a new functional programming language whose popularity is rising in the industry. However, there are few works in the literature focused on studying the internal quality of systems implemented in this language. Particularly, to…

Software Engineering · Computer Science 2022-04-11 Lucas Francisco da Matta Vegi , Marco Tulio Valente

Most software maintenance and evolution tasks require developers to understand the source code of their software systems. Software developers usually inspect class comments to gain knowledge about program behavior, regardless of the…

Software Engineering · Computer Science 2023-04-26 Pooja Rani , Sebastiano Panichella , Manuel Leuenberger , Andrea Di Sorbo , Oscar Nierstrasz

Code review plays an important role in software quality control. A typical review process would involve a careful check of a piece of code in an attempt to find defects and other quality issues/violations. One type of issues that may impact…

Software Engineering · Computer Science 2021-03-23 Xiaofeng Han , Amjed Tahir , Peng Liang , Steve Counsell , Yajing Luo

Code review that detects and locates defects and other quality issues plays an important role in software quality control. One type of issue that may impact the quality of software is code smells. Yet, little is known about the extent to…

Software Engineering · Computer Science 2022-05-17 Xiaofeng Han , Amjed Tahir , Peng Liang , Steve Counsell , Kelly Blincoe , Bing Li , Yajing Luo