English
Related papers

Related papers: Tracing the Lifecycle of Architecture Technical De…

200 papers

Self-Admitted Technical Debt (SATD) is a special form of technical debt in which developers intentionally record their hacks in the code by adding comments for attention. Here, we focus on issue-related "On-hold SATD", where developers…

Technical Debt is a term used to classify non-optimal solutions during software development. These solutions cause several maintenance problems and hence they should be avoided or at least documented. Although there are a considered number…

Software Engineering · Computer Science 2016-04-07 Marcelino Campos Oliveira Silva , Marco Tulio Valente , Ricardo Terra

Automated static analysis tools (ASATs) have become a major part of the software development workflow. Acting on the generated warnings, i.e., changing the code indicated in the warning, should be part of, at latest, the code review phase.…

Software Engineering · Computer Science 2021-09-09 Alexander Trautsch , Steffen Herbold , Jens Grabowski

The durability and quality of software contributions are critical factors in the long-term maintainability of a codebase. This paper introduces the Time to Modification (TTM) Theory, a novel approach for quantifying code quality by…

Software Engineering · Computer Science 2024-10-16 Vincil Bishop , Steven J Simske

Software systems endure many noteworthy changes throughout their life-cycle in order to follow the evolution of the problem domains. Generally, the software system architecture cannot follow the rapid evolution of a problem domain which…

Software Engineering · Computer Science 2011-11-30 Humaira Farid , Farooque Azam , M. Aqeel Iqbal

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

Maintenance is the last and the most critical phase of the software development life cycle. It involves debugging of errors and different types of enhancements which are requested by the user. Software reliability regarding maintenance is…

Software Engineering · Computer Science 2016-05-04 Ahmad Mateen , Muhammad Azeem Akbar

Architectural Knowledge Management (AKM) is crucial for software development but remains challenging due to the lack of standardization and high manual effort. Architecture Decision Records (ADRs) provide a structured approach to capture…

Software Engineering · Computer Science 2025-04-14 Rudra Dhar , Adyansh Kakran , Amey Karan , Karthik Vaidhyanathan , Vasudeva Varma

Context: Open-source ecosystems rely on sustained package maintenance. When maintenance slows or stops, Technical Lag (TL), the gap between installed and latest dependency versions accumulates, creating security and sustainability risks.…

Software Engineering · Computer Science 2026-03-12 Shane K. Panter , Nasir U. Eisty

Functional dependencies and feature interactions in automotive software systems are a major source of erroneous and deficient behavior. To overcome these problems, many approaches exist that focus on modeling these functional dependencies…

Software Engineering · Computer Science 2017-08-30 Andreas Vogelsang , Steffen Fuhrmann

Elasticity is a cloud property that enables applications and its execution systems to dynamically acquire and release shared computational resources on demand. Moreover, it unfolds the advantage of economies of scale in the cloud through a…

Software Engineering · Computer Science 2017-02-27 Carlos Mera-Gómez , Francisco Ramírez , Rami Bahsoon , Rajkumar Buyya

Aspect Oriented Software Development (AOSD) is a promising methodology which provides powerful techniques to improve the modularity of the software by separating the cross-cutting concerns from the core functionality. Since evolution is a…

Software Engineering · Computer Science 2020-10-20 Senthil Velan S , Chitra Babu

Agile software development has been adopted in the industry to quickly react to business change. Since its inception both academia and industry debate the different shades that agile processes and technical practices play in the day-to-day…

Software Engineering · Computer Science 2023-07-24 Matheus Marabesi , Francisco Jose Garcia-Penalvo , Alicia Garcia-Holgado

Context: As the adoption of continuous delivery practices increases in software organizations, different scenarios struggle to make it scales for their products in long-term evolution. This study looks at the concrete software architecture…

Software Engineering · Computer Science 2021-08-24 Breno Bernard Nicolau de França , Paulo Sérgio Medeiros dos Santos , Santiago Matalonga

This paper introduces Diff Authoring Time (DAT), a powerful, yet conceptually simple approach to measuring software development productivity that enables rigorous experimentation. DAT is a time based metric, which assess how long engineers…

Serverless computing is a cloud execution model where developers run code, and the server management is handled by the cloud provider. Serverless computing is increasingly gaining popularity as more systems adopt it to enhance scalability…

Software Engineering · Computer Science 2026-03-25 Hasini Sumalee Perera , Zadia Codabux , Fabio Palomba

Modern software systems are guided by hierarchical architectural concepts -- software architectures, reference architectures, and architectural frameworks -- each operating at a distinct level of abstraction. These artifacts promote reuse,…

Software Engineering · Computer Science 2025-05-02 Amine Ben Hassouna

Identifying drawbacks or insufficiencies in terms of safety is important also in early development stages of safety critical systems. In industry, development artefacts such as components or units, are often reused from existing artefacts…

Software Engineering · Computer Science 2021-06-03 Kai Hoefig , Marc Zeller , Reiner Heilmann

Dependency cycles pose a significant challenge to software quality and maintainability. However, there is limited understanding of how practitioners resolve dependency cycles in real-world scenarios. This paper presents an empirical study…

Software Engineering · Computer Science 2023-12-19 Qiong Feng , Shuwen Liu , Huan Ji , Xiaotian Ma , Peng Liang

Fault tolerance is essential for building reliable services; however, it comes at the price of redundancy, mainly the "replication factor" and "diversity". With the increasing reliance on Internet-based services, more machines (mainly…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-10-04 Ali Shoker