English
Related papers

Related papers: Code smells: A Synthetic Narrative Review

200 papers

Code smells indicate the potential problems of software quality so that developers can identify refactoring opportunities by detecting code smells. State-of-the-art approaches leverage heuristics, machine learning, and deep learning to…

Software Engineering · Computer Science 2024-02-19 Haiyang Liu , Yang Zhang , Vidya Saikrishna , Quanquan Tian , Kun Zheng

Nowadays, we are witnessing an increasing adoption of Deep Learning (DL) based software systems in many industries. Designing a DL program requires constructing a deep neural network (DNN) and then training it on a dataset. This process…

Software Engineering · Computer Science 2021-07-09 Amin Nikanjam , Foutse Khomh

Block-based programming languages like Scratch enable children to be creative while learning to program. Even though the block-based approach simplifies the creation of programs, learning to program can nevertheless be challenging.…

Software Engineering · Computer Science 2021-08-16 Florian Obermüller , Lena Bloch , Luisa Greifenstein , Ute Heuer , Gordon Fraser

Context: Social debt describes the accumulation of unforeseen project costs (or potential costs) from sub-optimal software development processes. Community smells are sociotechnical anti-patterns and one source of social debt that impact…

Software Engineering · Computer Science 2022-09-23 Eduardo Cabllero-Espinosa , Jeffrey C. Carver , Kimberly Stowers

Test smells are defined as sub-optimal design choices developers make when implementing test cases. Hence, similar to code smells, the research community has produced numerous test smell detection tools to investigate the impact of test…

Test smells are known as bad development practices that reflect poor design and implementation choices in software tests. Over the last decade, test smells were heavily studied to measure their prevalence and impacts on test…

Software Engineering · Computer Science 2021-11-04 Renaud Rwemalika , Sarra Habchi , Mike Papadakis , Yves Le Traon , Marie-Claude Brasseur

Code comments are important in software development because they directly influence software maintainability and overall quality. Bad practices of code comments lead to code comment smells, negatively impacting software maintenance. Recent…

Software Engineering · Computer Science 2025-09-01 Ipek Oztas , U Boran Torun , Eray Tüzün

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

Technical debt has become a common metaphor for the accumulation of software design and implementation choices that seek fast initial gains but that are under par and counterproductive in the long run. However, as a metaphor, technical debt…

Software Engineering · Computer Science 2021-03-23 Jacinto Ramirez Lahti , Antti-Pekka Tuovinen , Tommi Mikkonen

Reinforcement Learning (RL) is being increasingly used to learn and adapt application behavior in many domains, including large-scale and safety critical systems, as for example, autonomous driving. With the advent of plug-n-play RL…

Software Engineering · Computer Science 2023-08-04 Nicolás Cardozo , Ivana Dusparic , Christian Cabrera

Programming problems can be solved in a multitude of functionally correct ways, but the quality of these solutions (e.g. readability, maintainability) can vary immensely. When code quality is poor, symptoms emerge in the form of 'code…

Software Engineering · Computer Science 2024-03-11 Ivan Tan , Christopher M. Poskitt

Architectural code smells erode software maintainability and are costly to repair manually, yet unlike localized bugs, they require cross-module reasoning about design intent that challenges both developers and automated tools. While large…

Software Engineering · Computer Science 2026-05-13 Ion George Dinu , Marian Cristian Mihăescu , Traian Rebedea

Use case modeling is very popular to represent the functionality of the system to be developed, and it consists of two parts: use case diagram and use case description. Use case descriptions are written in structured natural language (NL),…

Software Engineering · Computer Science 2020-09-04 Yotaro Seki , Shinpei Hayashi , Motoshi Saeki

Duplicated code or code clones are a kind of code smell that have both positive and negative impacts on the development and maintenance of software systems. Software clone research in the past mostly focused on the detection and analysis of…

Software Engineering · Computer Science 2020-05-05 Chanchal K. Roy , Minhaz F. Zibran , Rainer Koschke

Build scripts automate the process of compiling source code, managing dependencies, running tests, and packaging software into deployable artifacts. These scripts are ubiquitous in modern software development pipelines for streamlining…

Software Engineering · Computer Science 2026-04-27 Mahzabin Tamanna , Yash Chandrani , Matthew Burrows , Brandon Wroblewski , Laurie Williams , Dominik Wermke

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

Measuring and evaluating source code similarity is a fundamental software engineering activity that embraces a broad range of applications, including but not limited to code recommendation, duplicate code, plagiarism, malware, and smell…

Software Engineering · Computer Science 2023-06-29 Morteza Zakeri-Nasrabadi , Saeed Parsa , Mohammad Ramezani , Chanchal Roy , Masoud Ekhtiarzadeh

Context: Test smells are symptoms of sub-optimal design choices adopted when developing test cases. Previous studies have proved their harmfulness for test code maintainability and effectiveness. Therefore, researchers have been proposing…

Software Engineering · Computer Science 2022-08-17 Valeria Pontillo , Dario Amoroso d'Aragona , Fabiano Pecorelli , Dario Di Nucci , Filomena Ferrucci , Fabio Palomba

Developers need to make a constant effort to improve the quality of their code if they want to stay productive. Tools that highlight code locations that could benefit from refactoring are thus highly desirable. The most common name for such…

Software Engineering · Computer Science 2020-06-08 Daniel Speicher

Using open-source dependencies is essential in modern software development. However, this practice implies significant trust in third-party code, while there is little support for developers to assess this trust. As a consequence, attacks…

Software Engineering · Computer Science 2025-09-08 Raphina Liu , Sofia Bobadilla , Benoit Baudry , Martin Monperrus