English
Related papers

Related papers: Self-Admitted Technical Debt in the Embedded Syste…

200 papers

Self-Admitted Technical Debt (SATD), a concept highlighting sub-optimal choices in software development documented in code comments or other project resources, poses challenges in the maintainability and evolution of software systems. Large…

Software Engineering · Computer Science 2024-05-14 Mohammad Sadegh Sheikhaei , Yuan Tian , Shaowei Wang , Bowen Xu

As software systems continue to play a significant role in modern society, ensuring their fairness has become a critical concern in software engineering. Motivated by this scenario, this paper focused on exploring the multifaceted nature of…

Software Engineering · Computer Science 2025-01-10 Ronnie de Souza Santos , Felipe Fronchetti , Savio Freire , Rodrigo Spinola

Data-intensive systems handle variable, high volume, and high-velocity data generated by human and digital devices. Like traditional software, data-intensive systems are prone to technical debts introduced to cope-up with the pressure of…

Software Engineering · Computer Science 2022-08-19 Biruk Asmare Muse , Kawser Wazed Nafi , Foutse Khomh , Giuliano Antoniol

To effectively manage Technical Debt (TD), we need reliable means to quantify it. We conducted a Systematic Mapping Study (SMS) where we identified TD quantification approaches that focus on different aspects of TD. Some approaches base the…

Software Engineering · Computer Science 2023-03-14 Judith Perera , Ewan Tempero , Yu-Cheng Tu , Kelly Blincoe

AI coding assistants and autonomous agents are becoming integral to software development workflows, reshaping how code is produced, reviewed, and maintained. While recent research has focused mainly on the capabilities and impacts of…

Software Engineering · Computer Science 2026-05-07 Christoph Treude

Temporal HAL-API Dependencies (THADs) can be useful to capture an interesting class of correctness properties in embedded software development. They demand a moderate effort for specification (which can be done via program annotations) and…

Software Engineering · Computer Science 2025-12-16 Manuel Bentele , Andreas Podelski , Axel Sikora , Bernd Westphal

A vigorous and growing set of technical debt analysis tools have been developed in recent years -- both research tools and industrial products -- such as Structure 101, SonarQube, and DV8. Each of these tools identifies problematic files…

Software Engineering · Computer Science 2021-03-09 Jason Lefever , Yuanfang Cai , Humberto Cervantes , Rick Kazman , Hongzhou Fang

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

Technical Debt management is an important aspect in the training of Software Engineering students. In this paper we study the effect of two assessment strategies in an educational context: One based on penalisation, the other based on…

Software Engineering · Computer Science 2021-04-20 Yania Crespo , Arturo Gonzalez-Escribano , Mario Piattini

Test-driven development (TDD) is a widely used agile practice. However, very little is known with certainty about TDD's underlying foundations, i.e., the way TDD works. In this paper, we propose a theoretical framework for TDD, with the…

Software Engineering · Computer Science 2024-07-19 Oscar Dieste , Ayse Tosun , Sira Vegas , Adrian Santos , Fernando Uyaguari , Jarno Kyykka , Natalia Juristo

Embedded systems are ubiquitous and play critical roles in management systems for industry and transport. Software failures in these domains may lead to loss of production or even loss of life, so the software in these systems needs to be…

Software Engineering · Computer Science 2021-11-17 Per Erik Strandberg

In this paper, we investigate the strategies adopted by Solidity developers to fix security vulnerabilities in smart contracts. Vulnerabilities are categorized using the DASP TOP 10 taxonomy, and fixing strategies are extracted from GitHub…

AI integration in automotive perception systems shifts requirements from static specifications to continuously evolving entities shaped by data, models, and operating contexts. When such changes are not consistently documented, validated,…

Software Engineering · Computer Science 2026-05-01 Hina Saeeda , Soniya Abraham

Technologies play an important role in the hiring process for software professionals. Within this process, several studies revealed misconceptions and bad practices which lead to suboptimal recruitment experiences. In the same context, grey…

Software Engineering · Computer Science 2021-08-24 Jonas Fritzsch , Marvin Wyrich , Justus Bogner , Stefan Wagner

Context: Continuous Software Engineering is increasingly adopted in highly regulated domains, raising the need for continuous compliance. Adherence to especially security regulations -- a major concern in highly regulated domains -- renders…

Software Engineering · Computer Science 2024-08-02 Florian Angermeir , Jannik Fischbach , Fabiola Moyón , Daniel Mendez

Cognitive biases exert a significant influence on human thinking and decision-making. In order to identify how they influence the occurrence of architectural technical debt, a series of semi-structured interviews with software architects…

Software Engineering · Computer Science 2023-09-26 Klara Borowa , Andrzej Zalewski , Szymon Kijas

Software development is a collaborative process that involves various interactions among individuals and teams. TODO comments in source code play a critical role in managing and coordinating diverse tasks during this process. However, this…

Software Engineering · Computer Science 2025-03-20 Haoye Wang , Zhipeng Gao , Tingting Bi , John Grundy , Xinyu Wang , Minghui Wu , Xiaohu Yang

In this paper we formally analyze the software methodology called (iterated) Test Driven Development (TDD). We formally define Specification, Software, Testing, Equivalence Partitions, Coupling, to argue about the nature of the software…

Software Engineering · Computer Science 2024-07-19 Hemil Ruparel , Nabarun Mondal

Context: Test-driven development (TDD) is an agile software development approach that has been widely claimed to improve software quality. However, the extent to which TDD improves quality appears to be largely dependent upon the…

In this experience paper, we report on a large-scale empirical study of Static Application Security Testing (SAST) in Open-Source Embedded Software (EMBOSS) repositories. We collected a corpus of 258 of the most popular EMBOSS projects, and…

Software Engineering · Computer Science 2025-04-28 Mingjie Shen , Akul Abhilash Pillai , Brian A. Yuan , James C. Davis , Aravind Machiry