English
Related papers

Related papers: Towards Predicting the Impact of Software Changes …

200 papers

Software upgrades are critical to maintaining server reliability in datacenters. While job duration prediction and scheduling have been extensively studied, the unique challenges posed by software upgrades remain largely under-explored.…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-05-19 Yi Ding , Aijia Gao , Thibaud Ryden , Michal Sedlak , Essam Ewaisha , Igor Marnat , Henry Hoffmann

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

The cloud computing paradigm is being adopted by many organizations in different application domains as it is cost effective and offers a virtually unlimited pool of resources. Engineering critical systems can benefit from clouds in…

Software Engineering · Computer Science 2014-05-01 Sami Alajrami

Architectural decay imposes real costs in terms of developer effort, system correctness, and performance. Over time, those problems are likely to be revealed as explicit implementation issues (defects, feature changes, etc.). Recent…

Software Engineering · Computer Science 2021-02-22 Duc Minh Le , Suhrid Karthik , Marcelo Schmitt Laser , Nenad Medvidovic

Automated tools are frequently used in social coding repositories to perform repetitive activities that are part of the distributed software development process. Recently, GitHub introduced GitHub Actions, a feature providing automated…

Software Engineering · Computer Science 2024-01-24 Timothy Kinsman , Mairieli Wessel , Marco A. Gerosa , Christoph Treude

Context: Changing a software application with many build-time configuration settings may introduce unexpected side-effects. For example, a change intended to be specific to a platform (e.g., Windows) or product configuration (e.g.,…

Software Engineering · Computer Science 2021-04-05 Mehran Meidani , Maxime Lamothe , Shane McIntosh

Continuous practices that rely on automation in the software development workflow have been widely adopted by industry for over a decade. Despite this widespread use, software development remains a primarily human-driven activity that is…

Software Engineering · Computer Science 2021-04-07 Omar Elazhary , Margaret-Anne Storey , Neil A. Ernst , Elise Paradis

Continuous Integration (CI) consists of an automated build process involving continuous compilation, testing, and packaging of the software system. While CI comes up with several advantages related to quality and time to delivery, CI also…

Software Engineering · Computer Science 2025-08-26 Henri Aïdasso , Mohammed Sayagh , Francis Bordeleau

The focus on rapid software delivery inevitably results in the accumulation of technical debt, which, in turn, affects quality and slows future development. Yet, companies with a long history of rapid delivery exist. Our primary aim is to…

Decision-making is a key software engineering skill. Developers constantly make choices throughout the software development process, from requirements to implementation. While prior work has studied developer decision-making, the choices…

Software Engineering · Computer Science 2023-01-25 Jenny T. Liang , Maryam Arab , Minhyuk Ko , Amy J. Ko , Thomas D. LaToza

Architectural debt is a form of technical debt that derives from the gap between the architectural design of the system as it "should be" compared to "as it is". We measured architecture debt in two ways: 1) in terms of system-wide coupling…

Software Engineering · Computer Science 2018-12-03 Maleknaz Nayebi , Yuanfang Cai , Rick Kazman , Guenther Ruhe , Qiong Feng , Chris Carlson , Francis Chew

Microservice architectures and design patterns enhance the development of large-scale applications by promoting flexibility. Industrial practitioners perceive the importance of applying architectural patterns but they struggle to quantify…

Software Engineering · Computer Science 2024-09-09 Willem Meijer , Catia Trubiani , Aldeida Aleti

Software architects frequently engage in trade-off analysis, often confronting sub-optimal solutions due to unforeseen or overlooked disadvantages. Such outcomes can detrimentally affect a company's business operations and resource…

Software Engineering · Computer Science 2024-05-07 Matheus Felisberto

-Information Technology (IT) shaped the success of organizations, giving them a solid foundation that increases both their level of efficiency as well as productivity. The computing industry is witnessing a paradigm shift in the way…

Computers and Society · Computer Science 2012-09-28 Heru Susanto , Mohammad Nabil Almunawar , Chen Chin Kang

Cloud management systems provide abstractions and APIs for programmatically configuring cloud infrastructures. Unfortunately, residual software bugs in these systems can potentially lead to high-severity failures, such as prolonged outages…

Software Engineering · Computer Science 2019-09-04 Domenico Cotroneo , Luigi De Simone , Pietro Liguori , Roberto Natella , Nematollah Bidokhti

Context: Designing software is an activity in which software developers think and make design decisions that shape the structure and behavior of software products. Designing software is one of the least understood software engineering…

Software Engineering · Computer Science 2021-08-27 Rodi Jolak , Andreas Wortmann , Grischa Liebel , Eric Umuhoza , Michel R. V. Chaudron

The dynamic nature of resource allocation and runtime conditions on Cloud can result in high variability in a job's runtime across multiple iterations, leading to a poor experience. Identifying the sources of such variation and being able…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-04-10 Yiwen Zhu , Rathijit Sen , Robert Horton , John Mark , Agosta

One single code change can significantly influence a wide range of software systems and their users. For example, 1) adding a new feature can spread defects in several modules, while 2) changing an API method can improve the performance of…

Software Engineering · Computer Science 2016-06-13 Daoyuan Li , Li Li , Dongsun Kim , Tegawendé F. Bissyandé , David Lo , Yves Le Traon

Continuous Integration and Continuous Deployment (CI/CD) pipeline automates software development to speed up and enhance the efficiency of engineering software. These workflows consist of various jobs, such as code validation and testing,…

Software Engineering · Computer Science 2025-04-17 Simin Sun , David Friberg , Miroslaw Staron

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