English
Related papers

Related papers: Are Multi-language Design Smells Fault-prone? An E…

200 papers

Mobile apps have become essential of our daily lives, making code quality a critical concern for developers. Behavioural code smells are characteristics in the source code that induce inappropriate code behaviour during execution, which…

Software Engineering · Computer Science 2026-04-14 Houcine Abdelkader Cherief , Florent Avellaneda , Naouel Moha

Spreadsheet users are often unaware of the risks imposed by poorly designed spreadsheets. One way to assess spreadsheet quality is to detect smells which attempt to identify parts of spreadsheets that are hard to comprehend or maintain and…

Software Engineering · Computer Science 2018-10-11 Patrick Koch , Birgit Hofer , Franz Wotawa

Code smells signal violations of design principles that degrade the internal quality of evolving software systems. Although many tools detect such anomalies using static metrics, they often ignore the development context in which smells…

Software Engineering · Computer Science 2026-05-21 Matheus dos Santos Viegas , Adrian Gabriel Keller dos Santos , Kleinner Farias , Robson Keemps da Silva

Bugs that are detected earlier during the development lifecycle are easier and cheaper to fix, whereas bugs that are found during production are difficult and expensive to address, and may have dire consequences. Type systems are…

Programming Languages · Computer Science 2021-10-12 Catarina Gamboa , Paulo Alexandre Santos , Christopher S. Timperley , Alcides Fonseca

Background. Containerization technologies are widely adopted in the DevOps workflow. The most commonly used one is Docker, which requires developers to define a specification file (Dockerfile) to build the image used for creating…

Software Engineering · Computer Science 2022-08-22 Giovanni Rosa , Simone Scalabrino , Rocco Oliveto

Educating students about software testing practices is integral to the curricula of many computer science-related courses and typically involves students writing unit tests. Similar to production/source code, students might inadvertently…

Software Engineering · Computer Science 2024-04-17 Anthony Peruma , Eman Abdullah AlOmar , Wajdi Aljedaani , Christian D. Newman , Mohamed Wiem Mkaouer

Fuzzing has become a popular technique for automatically detecting vulnerabilities and bugs by generating unexpected inputs. In recent years, the fuzzing process has been integrated into continuous integration workflows (i.e., continuous…

Software Engineering · Computer Science 2026-02-06 Tatsuya Shirai , Olivier Nourry , Yutaro Kashiwa , Kenji Fujiwara , Hajimu Iida

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

Python is widely adopted across various domains, especially in Machine Learning (ML) and traditional software projects. Despite its versatility, Python is susceptible to performance smells, i.e., suboptimal coding practices that can reduce…

Software Engineering · Computer Science 2025-04-30 François Belias , Leuson Da Silva , Foutse Khomh , Cyrine Zid

Enhancing the modular structure of existing systems has attracted substantial research interest, focusing on two main methods: (1) software modularization and (2) identifying design issues (e.g., smells) as refactoring opportunities.…

Software Engineering · Computer Science 2024-11-05 Chenxing Zhong , Daniel Feitosa , Paris Avgeriou , Huang Huang , Yue Li , He Zhang

Is the quality of existing code correlated with the quality of subsequent changes? According to the (controversial) broken windows theory, which inspired this study, disorder sets descriptive norms and signals behavior that further…

Software Engineering · Computer Science 2025-01-09 Diomidis Spinellis , Panos Louridas , Maria Kechagia , Tushar Sharma

Context: During the last years, developers of mobile applications have the possibility to use new paradigms and tools for developing mobile applications. For instance, since 2017 Android developers have the official support to write Android…

Software Engineering · Computer Science 2019-07-19 Bruno Gois Mateus , Matias Martinez

Refactoring is the art of improving the design of a system without altering its external behavior. Refactoring has become a well established and disciplined software engineering practice that has attracted a significant amount of research…

Software Engineering · Computer Science 2021-03-26 Eman Abdullah AlOmar , Anthony Peruma , Mohamed Wiem Mkaouer , Christian Newman , Ali Ouni , Marouane Kessentini

To ensure the quality of a software system, developers perform an activity known as unit testing, where they write code (known as test cases) that verifies the individual software units that make up the system. Like production code, test…

Software Engineering · Computer Science 2023-03-09 Wajdi Aljedaani , Mohamed Wiem Mkaouer , Anthony Peruma , Stephanie Ludi

Bad requirements quality can cause expensive consequences during the software development lifecycle, especially if iterations are long and feedback comes late. %-- the faster a problem is found, the cheaper it is to fix. This makes explicit…

Software Engineering · Computer Science 2016-11-29 H. Femmer , D. Méndez Fernández , S. Wagner , S. Eder

Understanding how software defects manifest and evolve in production environments is critical for improving reliability. While previous research has largely focused on pre-release defects, the nature of residual faults, i.e., those escaping…

Software Engineering · Computer Science 2026-04-30 Domenico Cotroneo , Giuseppe De Rosa , Cristina Improta , Benedetta Gaia Varriale

Scripting languages are continuously gaining popularity due to their ease of use and the flourishing software ecosystems that surround them. These languages offer crash and memory safety by design, thus, developers do not need to understand…

Cryptography and Security · Computer Science 2023-02-06 Cristian-Alexandru Staicu , Sazzadur Rahaman , Ágnes Kiss , Michael Backes

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

This study presents a quantitative evaluation of the code quality and security of five prominent Large Language Models (LLMs): Claude Sonnet 4, Claude 3.7 Sonnet, GPT-4o, Llama 3.2 90B, and OpenCoder 8B. While prior research has assessed…

Software Engineering · Computer Science 2025-08-21 Abbas Sabra , Olivier Schmitt , Joseph Tyler

Context: Technical Debt (TD) discusses the negative impact of sub-optimal decisions to cope with the need-for-speed in software development. Code Technical Debt Items (TDI) are atomic elements of TD that can be observed in code artefacts.…

Software Engineering · Computer Science 2022-01-06 Ehsan Zabardast , Kwabena Ebo Bennin , Javier Gonzalez-Huerta