English
Related papers

Related papers: Understanding Architecture Erosion: The Practition…

200 papers

Software architecture plays a central role in the design, development, and maintenance of software systems. With the rise of cloud computing, microservices, and containers, architectural practices have diversified. Understanding these…

Software Engineering · Computer Science 2025-07-28 Ruoyu Su , Noman Ahmad , Matteo Esposito , Andrea Janes , Davide Taibi , Valentina Lenarduzzi

Failure studies are important in revealing the root causes, behaviors, and life cycle of defects in software systems. These studies either focus on understanding the characteristics of defects in specific classes of systems or the…

Software Engineering · Computer Science 2022-09-23 Paschal C. Amusuo , Aishwarya Sharma , Siddharth R. Rao , Abbey Vincent , James C. Davis

Context: Contemporary software development is typically conducted in dynamic, resource-scarce environments that are prone to the accumulation of technical debt. While this general phenomenon is acknowledged, what remains unknown is how…

Software architecture is the foundation of a system's ability to achieve various quality attributes, including software performance. However, there lacks comprehensive and in-depth understanding of why and how software architecture and…

Software Engineering · Computer Science 2024-10-24 Yutong Zhao , Lu Xiao , Chenhao Wei , Rick Kazman , Ye Yang

Developer experience is an important concern for software organizations as enhancing developer experience improves productivity, satisfaction, engagement and retention. We set out to understand what affects developer experience through…

Software Engineering · Computer Science 2022-05-16 Michaela Greiler , Margaret-Anne Storey , Abi Noda

The continuous evolution of software projects necessitates the implementation of changes to enhance performance and reduce defects. This research explores effective strategies for learning and implementing useful changes in software…

Software Engineering · Computer Science 2025-04-18 Kartik Gupta

Software engineers frequently face the challenge of developing systems whose requirements are likely to change in order to adapt to organizational reconfigurations or other external pressures. Evolving requirements present difficulties,…

Software Engineering · Computer Science 2014-02-25 Andrew Branson , Richard McClatchey , Jean-Marie Le Goff , Jetendr Shamdasani

This paper analyzes the phenomenon of software aging - namely, the gradual performance degradation and resource exhaustion in the long run - in the Android OS. The study intends to highlight if, and to what extent, devices from different…

Software Engineering · Computer Science 2020-05-26 Domenico Cotroneo , Antonio Ken Iannillo , Roberto Natella , Roberto Pietrantuono

Software product lines have recently been presented as one of the best promising improvements for the efficient software development. Different research works contribute supportive parameters and negotiations regarding the problems of…

Software Engineering · Computer Science 2017-03-13 Furrakh Shahzad , Maruf Pasha , Urooj Pasha , Bushra Majeed , Khurram Shahzad

With the increased dependence on software, there is a pressing need for engineering long-lived software. As architectures have a profound effect on the life-span of the software and the provisioned quality of service, stable architectures…

Software Engineering · Computer Science 2019-12-12 Maria Salama , Rami Bahsoon , Rajkumar Buyya

Usability engineering is situated in a much larger social and institutional context than is usually acknowledged by usability professionals in the way that they define their field. The definitions and processes used in the improvement of…

Human-Computer Interaction · Computer Science 2019-04-09 Asad Sayeed

In order to maintain a system, it is beneficial to know its software architecture. In the common case that this architecture is unavailable, architecture recovery provides a way to recover an architectural view of the system. Many different…

Software Engineering · Computer Science 2019-01-24 Daniel Link , Pooyan Behnam , Ramin Moazeni , Barry Boehm

Background. The software architecture recovery method RELAX produces a concern-based architectural view of a software system graphically and textually from that system's source code. The method has been implemented in software which can be…

Software Engineering · Computer Science 2021-09-01 Daniel Link , Kamonphop Srisopha , Barry Boehm

While working on a software specification, designers usually need to evaluate different architectural alternatives to be sure that quality criteria are met. Even when these quality aspects could be expressed in terms of multiple software…

Software Engineering · Computer Science 2024-01-10 Aurora Ramírez , José Raúl Romero , Sebastián Ventura

Computing systems are omnipresent; their sustainability has become crucial for our society. A key aspect of this sustainability is the ability of computing systems to cope with the continuous change they face, ranging from dynamic operating…

Software Engineering · Computer Science 2022-04-15 Danny Weyns , Thomas Baeck , Rene Vidal , Xin Yao , Ahmed Nabil Belbachir

This paper presents an empirical study of the software reuse activity by expert designers in the context of object-oriented design. Our study focuses on the three following aspects of reuse : (1) the interaction between some design…

Human-Computer Interaction · Computer Science 2016-08-14 Jean-Marie Burkhardt , Françoise Détienne

Operating Systems are built upon a set of abstractions to provide resource management and programming APIs for common functionality, such as synchronization, communication, protection, and I/O. The process abstraction is the bridge across…

Operating Systems · Computer Science 2022-05-26 Rodrigo Siqueira , Nelson Lago , Fabio Kon , Dejan Milojičić

The increasing demands for computing performance have been a reality regardless of the requirements for smaller and more energy efficient devices. Throughout the years, the strategy adopted by industry was to increase the robustness of a…

Software Engineering · Computer Science 2019-05-07 Hugo Andrade , Ivica Crnkovic

A recurring problem in software development is incorrect decision making on the techniques, methods and tools to be used. Mostly, these decisions are based on developers' perceptions about them. A factor influencing people's perceptions is…

Software Engineering · Computer Science 2024-02-13 Sira Vegas , Patricia Riofrio , Esperanza Marcos , Natalia Juristo

Although architecture instability has been studied and measured using a variety of metrics, a deeper analysis of which project parts are less stable and how such instability varies over time is still needed. While having more information on…

Software Engineering · Computer Science 2022-04-12 Alejandro Valdezate , Rafael Capilla , Gregorio Robles , Victor Salamanca