English
Related papers

Related papers: Smells-sus: Sustainability Smells in IaC

200 papers

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

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…

Dependency management in modern software development poses many challenges for developers who wish to stay up to date with the latest features and fixes whilst ensuring backwards compatibility. Project maintainers have opted for varied, and…

Software Engineering · Computer Science 2021-10-19 Abbas Javan Jafari , Diego Elias Costa , Rabe Abdalkareem , Emad Shihab , Nikolaos Tsantalis

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

Code smells are characteristics of the software that indicates a code or design problem which can make software hard to understand, evolve, and maintain. The code smell detection tools proposed in the literature produce different results,…

Software Engineering · Computer Science 2019-02-11 Thirupathi Guggulothu

As the development of Solidity contracts on Ethereum, more developers are reusing them on other compatible blockchains. However, developers may overlook the differences between the designs of the blockchain system, such as the Gas Mechanism…

Software Engineering · Computer Science 2025-04-14 Zexu Wang , Jiachi Chen , Tao Zhang , Yu Zhang , Weizhe Zhang , Yuming Feng , Zibin Zheng

Code smells represent sub-optimal implementation choices applied by developers when evolving software systems. The negative impact of code smells has been widely investigated in the past: besides developers' productivity and ability to…

Software Engineering · Computer Science 2019-05-28 Gemma Catolino , Fabio Palomba , Francesca Arcelli Fontana , Andrea De Lucia , Andy Zaidman , Filomena Ferrucci

Large Language Models (LLMs) currently exhibit low success rates in generating correct and intent-aligned Infrastructure as Code (IaC). This research investigated methods to improve LLM-based IaC generation, specifically for Terraform, by…

Artificial Intelligence · Computer Science 2025-12-18 Roman Nekrasov , Stefano Fossati , Indika Kumara , Damian Andrew Tamburri , Willem-Jan van den Heuvel

Software systems naturally evolve, and this evolution often brings design problems that cause system degradation. Architectural smells are typical symptoms of such problems, and several of these smells are related to undesired dependencies…

Software Engineering · Computer Science 2018-08-21 J. Andrés Díaz-Pace , Antonela Tommasel , Daniela Godoy

Infrastructure as Code (IaC) enables scalable and automated IT infrastructure management but is prone to errors that can lead to security vulnerabilities, outages, and data loss. While prior research has focused on detecting IaC issues,…

Software Engineering · Computer Science 2025-05-19 Nuno Saavedra , João F. Ferreira , Alexandra Mendes

Context: Securing microservice-based applications is crucial, as many IT companies are delivering their businesses through microservices. If security smells affect microservice-based applications, they can possibly suffer from security…

Software Engineering · Computer Science 2021-04-28 Francisco Ponce , Jacopo Soldani , Hernán Astudillo , Antonio Brogi

JavaScript has been consistently among the most popular programming languages in the past decade. However, its dynamic, weakly-typed, and asynchronous nature can make it challenging to write maintainable code for developers without in-depth…

Cryptography and Security · Computer Science 2024-12-02 Vikas Kambhampati , Nehaz Hussain Mohammed , Amin Milani Fard

The common use case of code smells assumes causality: Identify a smell, remove it, and by doing so improve the code. We empirically investigate their fitness to this use. We present a list of properties that code smells should have if they…

Software Engineering · Computer Science 2024-01-17 Idan Amit , Nili Ben Ezra , Dror G. Feitelson

User Interfaces (UIs) intensively rely on event-driven programming: widgets send UI events, which capture users' interactions, to dedicated objects called controllers. Controllers use several UI listeners that handle these events to produce…

Software Engineering · Computer Science 2018-05-29 Arnaud Blouin , Valéria Lelli , Benoit Baudry , Fabien Coulon

While a substantial body of prior research has investigated the form and nature of production code, comparatively little attention has examined characteristics of test code, and, in particular, test smells in that code. In this paper, we…

Software Engineering · Computer Science 2021-03-30 Amjed Tahir , Steve Counsell , Stephen G. MacDonell

Nowadays, more and more applications are developed for running on a distributed ledger technology, namely dApps. The business logic of dApps is usually implemented within smart contracts developed through Solidity, a programming language…

Software Engineering · Computer Science 2021-12-16 Andrea Di Sorbo , Sonia Laudanna , Anna Vacca , Corrado A. Visaggio , Gerardo Canfora

Architectural smells such as God Class, Cyclic Dependency, and Hub-like Dependency degrade software quality and maintainability. Existing tools detect such smells but rarely suggest how to fix them. This paper explores the use of…

Software Engineering · Computer Science 2025-07-22 Samal Nursapa , Anastassiya Samuilova , Alessio Bucaioni , Phuong T. Nguyen

Background. Architectural smells and code smells are symptoms of bad code or design that can cause different quality problems, such as faults, technical debt, or difficulties with maintenance and evolution. Some studies show that code…

Software Engineering · Computer Science 2019-04-29 Francesca Arcelli Fontanaa , Valentina Lenarduzzi , Riccardo Roveda , Davide Taibi

Context. The adoption of Machine Learning (ML)--enabled systems is steadily increasing. Nevertheless, there is a shortage of ML-specific quality assurance approaches, possibly because of the limited knowledge of how quality-related concerns…

Software Engineering · Computer Science 2024-03-14 Gilberto Recupito , Giammaria Giordano , Filomena Ferrucci , Dario Di Nucci , Fabio Palomba

CONTEXT: There has been a rapid growth in the use of data analytics to underpin evidence-based software engineering. However the combination of complex techniques, diverse reporting standards and poorly understood underlying phenomena are…

Software Engineering · Computer Science 2019-04-16 Tim Menzies , Martin Shepperd