4.5 Article

Past and future of software architectural decisions - A systematic mapping study

Journal

INFORMATION AND SOFTWARE TECHNOLOGY
Volume 56, Issue 8, Pages 850-872

Publisher

ELSEVIER
DOI: 10.1016/j.infsof.2014.03.009

Keywords

Software architecture; Architectural decisions; Systematic mapping study

Ask authors/readers for more resources

Context: The software architecture of a system is the result of a set of architectural decisions. The topic of architectural decisions in software engineering has received significant attention in recent years. However, no systematic overview exists on the state of research on architectural decisions. Objective: The goal of this study is to provide a systematic overview of the state of research on architectural decisions. Such an overview helps researchers reflect on previous research and plan future research. Furthermore, such an overview helps practitioners understand the state of research, and how research results can help practitioners in their architectural decision-making. Method: We conducted a systematic mapping study, covering studies published between January 2002 and January 2012. We defined six research questions. We queried six reference databases and obtained an initial result set of 28,895 papers. We followed a search and filtering process that resulted in 144 relevant papers. Results: After classifying the 144 relevant papers for each research question, we found that current research focuses on documenting architectural decisions. We found that only several studies describe architectural decisions from the industry. We identified potential future research topics: domain-specific architectural decisions (such as mobile), achieving specific quality attributes (such as reliability or scalability), uncertainty in decision-making, and group architectural decisions. Regarding empirical evaluations of the papers, around half of the papers use systematic empirical evaluation approaches (such as surveys, or case studies). Still, few papers on architectural decisions use experiments. Conclusion: Our study confirms the increasing interest in the topic of architectural decisions. This study helps the community reflect on the past ten years of research on architectural decisions. Researchers are offered a number of promising future research directions, while practitioners learn what existing papers offer. (C) 2014 Elsevier B.V. All rights reserved.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.5
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

Article Computer Science, Information Systems

A mapping study on documentation in Continuous Software Development

Theo Theunissen, Uwe van Heesch, Paris Avgeriou

Summary: Research shows that challenges in continuous software development include difficulties in understanding informal documentation, the perception of documentation as wasteful, and a focus on short-term productivity. To address these challenges, practitioners are recommended to adopt practices like non-written communication and tools like architecture frameworks to improve the quantity and quality of documentation.

INFORMATION AND SOFTWARE TECHNOLOGY (2022)

Article Computer Science, Software Engineering

The temporality of technical debt introduction on new code and confounding factors

George Digkas, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Paris Avgeriou

Summary: The study found that the number of TD issues introduced through new code is generally stable with occasional spikes, and the number of commits performed as well as developers' experience are not strongly correlated to the number of introduced TD issues.

SOFTWARE QUALITY JOURNAL (2022)

Article Computer Science, Software Engineering

A metric for quantifying the ripple effects among requirements

Elvira-Maria Arvanitou, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Paris Avgeriou, Nikolaos Tsiridis

Summary: Identifying and understanding the artifacts that need to be changed during software maintenance is often costlier than applying the actual change. This paper proposes a metric for assessing the probability of one requirement being affected by a change in another requirement, focusing on the requirements level. The metric accounts for past co-change, overlapping implementations, and source code dependencies, and is validated through an industrial case study.

SOFTWARE QUALITY JOURNAL (2022)

Article Computer Science, Software Engineering

On the relation between architectural smells and source code changes

Darius Sas, Paris Avgeriou, Ilaria Pigazzini, Francesca Arcelli Fontana

Summary: Although architectural smells are one of the most studied types of architectural technical debt, their impact on maintenance effort has not been thoroughly investigated. The presence of architectural smells leads to increased frequency and size of source code changes, especially in Medium to Large artifacts.

JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS (2022)

Article Computer Science, Information Systems

System and software architecting harmonization practices in ultra-large-scale systems of systems: A confirmatory case study

Hector Cadavid, Vasilios Andrikopoulos, Paris Avgeriou, P. Chris Broekema

Summary: This study aims to confirm and extend the applicability of architecture harmonization practices from systems and software engineering in the field of System of Systems (SoS). The findings from a confirmatory case study provide further emphasis on the importance of a cross-disciplinary view and its value in SoS architecture research.

INFORMATION AND SOFTWARE TECHNOLOGY (2022)

Editorial Material Computer Science, Software Engineering

Introduction to the Special Issue on Software-Intensive Autonomous Systems: Methods and applications

Nesrine Khabou, Ismael Bouassida Rodriguez, Khalil Drira, Paris Avgeriou, David C. Shepherd, Wing-Kwong Chan, Raffaela Mirandola

JOURNAL OF SYSTEMS AND SOFTWARE (2023)

Article Computer Science, Software Engineering

Automatic identification of self-admitted technical debt from four different sources

Yikun Li, Mohamed Soliman, Paris Avgeriou

Summary: Technical debt refers to taking shortcuts in software development at the expense of long-term maintainability. Previous research has focused on identifying developer-reported technical debt, while this study proposes and evaluates an approach for automated identification of self-admitted technical debt (SATD) from multiple sources. The approach integrates source code comments, commit messages, pull requests, and issue tracking systems, achieving superior performance compared to baseline methods. The study also characterizes SATD in open-source projects and explores the relationships between SATD in different sources, revealing insights such as even distribution among sources and common keywords shared between issues and pull requests.

EMPIRICAL SOFTWARE ENGINEERING (2023)

Article Computer Science, Software Engineering

Self-Admitted Technical Debt in the Embedded Systems Industry: An Exploratory Case Study

Yikun Li, Mohamed Soliman, Paris Avgeriou, Lou Somers

Summary: Technical debt refers to shortcuts taken during software development for the sake of expedience. Self-Admitted Technical Debt (SATD) occurs when developers explicitly acknowledge these shortcuts. While SATD management in Open Source projects has been studied extensively, its exploration in industry and developers' perspectives towards SATD have received limited attention. To address this gap, an exploratory case study was conducted with an industrial partner to understand how SATD is perceived and managed. The study involved collecting data on SATD from different sources and conducting interviews with 12 software practitioners. The results highlight the core characteristics of SATD in industrial projects, developers' attitudes towards it, triggers for its introduction and repayment, relations between SATD in different sources, practices used for its management, as well as challenges and tooling ideas.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2023)

Article Computer Science, Software Engineering

Improving hardware/software interface management in systems of systems through documentation as code

Hector Cadavid, Vasilios Andrikopoulos, Paris Avgeriou

Summary: This study aims to improve the management of Interface Control Documents (ICDs) in Systems of Systems (SoS) using the documentation-as-code philosophy. A Technical Action Research (TAR) study was conducted with engineers at ASTRON to gain insights on interface management issues. Based on these insights, a proof-of-concept was developed to address the issues and received positive reviews from practitioners and experts, identifying areas for improvement and future work.

EMPIRICAL SOFTWARE ENGINEERING (2023)

Article Computer Science, Information Systems

The lifecycle of Technical Debt that manifests in both source code and issue trackers

Jie Tan, Daniel Feitosa, Paris Avgeriou

Summary: Although Technical Debt (TD) has received increasing attention, most studies are based on single sources. This study investigates the management of TD across different sources and finds that most resolved TD items in issue trackers are also paid back in source code, although many are not further discussed. It is also discovered that the identification of TD items often takes a long time (around one year) but can be resolved quickly if the same developer is involved in the process.

INFORMATION AND SOFTWARE TECHNOLOGY (2023)

Article Computer Science, Information Systems

Warnings: Violation symptoms indicating architecture erosion

Ruiyin Li, Peng Liang, Paris Avgeriou

Summary: The degradation of software architecture as a software system evolves hampers software maintenance and evolution activities and affects the quality attributes of the system. This study investigates the characteristics of architecture violation symptoms in code review comments from the developers' perspective and provides insights on how developers address these symptoms.

INFORMATION AND SOFTWARE TECHNOLOGY (2023)

Article Computer Science, Software Engineering

An Architectural Technical Debt Index Based on Machine Learning and Architectural Smells

Darius Sas, Paris Avgeriou

Summary: A key aspect of technical debt management is measuring the accumulated principal. Existing approaches to estimate technical debt principal focus on architectural debt, but lack full automation, availability, and validation. This article proposes a novel approach using machine learning and architectural smells to estimate architectural technical debt principal, addressing shortcomings of current approaches. The approach applies information retrieval techniques to train a learning-to-rank machine learning model, calculates the number of lines of code creating the smell, and combines these values for the debt estimation, validated through a case study and interviews with practitioners.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2023)

Proceedings Paper Computer Science, Software Engineering

Where and What do Software Architects blog?

Mohamed Soliman, Kirsten Gericke, Paris Avgeriou

Summary: This paper conducts an exploratory study on architectural blogs to investigate their types, topics, and their relevance to design steps. The results provide support for researchers and practitioners in finding and reusing valuable knowledge from blogs.

2023 IEEE 20TH INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE, ICSA (2023)

Proceedings Paper Computer Science, Software Engineering

Documentation-as-Code for Interface Control Document Management in Systems of Systems: A Technical Action Research Study

Hector Cadavid, Vasilios Andrikopoulos, Paris Avgeriou

Summary: The architecting of Systems of Systems (SoS) is an important topic that has gained increasing interest. However, the interplay between different disciplines involved in the architecting process is often overlooked, which has significant implications for integration and operational issues. In this research, the authors collaborated with practitioners in a large-scale radio astronomy SoS project to explore potential improvements in interface management by adopting elements of the documentation-as-code philosophy. The results and lessons learned from this study are reported in this paper.

SOFTWARE ARCHITECTURE, ECSA 2022 (2022)

Proceedings Paper Computer Science, Hardware & Architecture

Symptoms of Architecture Erosion in Code Reviews: A Study of Two OpenStack Projects

Ruiyin Li, Mohamed Soliman, Peng Liang, Paris Avgeriou

Summary: This study investigates the erosion symptoms discussed in code reviews, their trends, and the actions taken by developers in the OpenStack community. The findings show that code review is an effective way to reduce erosion symptoms, and analyzing the trend of erosion symptoms can provide insights into the erosion status of software systems and help avoid potential risks.

IEEE 19TH INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE (ICSA 2022) (2022)

Article Computer Science, Information Systems

Why and how bug blocking relations are breakable: An empirical study on breakable blocking bugs

Hao Ren, Yanhui Li, Lin Chen, Yuming Zhou, Changhai Nie

Summary: This study aims to explore the breakable blocking bugs (BBBs) through quantitative and qualitative analysis. The analysis reveals that BBBs have higher levels of involvement, longer fix time, and more complex source code compared to other bugs. The study also identifies four reasons for breaking blocking relationships between bugs and three measures adopted by developers to break these relationships.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Vulnerability detection based on federated learning

Chunyong Zhang, Tianxiang Yu, Bin Liu, Yang Xin

Summary: This paper proposes a vulnerability detection framework based on federated learning (VDBFL), which combines code property graph, graph neural networks, and convolutional neural networks to detect vulnerability code. The experimental results show that this method outperforms other vulnerability detection methods.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Collaborative software design and modeling in virtual reality

Martin Stancek, Ivan Polasek, Tibor Zalabai, Juraj Vincur, Rodi Jolak, Michel Chaudron

Summary: The aim of this research is to support distributed software design activities in Virtual Reality (VR). Using design science research methodology, a tool for collaborative design in VR is designed and evaluated. The efficiency of collaboration and recall of design information when using VR software design environment compared to non-VR environment are evaluated. Furthermore, the perceptions and preferences of users are collected to explore the opportunities and challenges of using VR software design environment.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Improving domain-specific neural code generation with few-shot meta-learning

Zhen Yang, Jacky Wai Keung, Zeyu Sun, Yunfei Zhao, Ge Li, Zhi Jin, Shuo Liu, Yishu Li

Summary: This paper presents MetaCoder, a meta-learning code generation approach that efficiently extracts general-purpose knowledge from large-scale source languages and rapidly adapts to domain-specific scenarios.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Automated code-based test case reuse for software product line testing

Pilsu Jung, Seonah Lee, Uicheon Lee

Summary: This study proposes an automated code-based approach (ActSPL) for reusing SPL test cases by utilizing source code and test cases. The results show that ActSPL achieves high precision and recall, and significantly reduces the time required for testing a new product.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Understanding the implementation issues when using deep learning frameworks

Chao Liu, Runfeng Cai, Yiqun Zhou, Xin Chen, Haibo Hu, Meng Yan

Summary: This paper conducts an empirical study on the implementation issues of deep learning frameworks, focusing on relevant questions on Stack Overflow. The study identifies various implementation issues and constructs a taxonomy, revealing that data processing, model setting, model training, and model prediction are the most common categories. The paper also provides suggestions for future research and aims to help developers and researchers understand these issues better.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Genetic model-based success probability prediction of quantum software development projects

Muhammad Azeem Akbar, Arif Ali Khan, Mohammad Shameem, Mohammad Nadeem

Summary: This study identifies key variables in quantum software development (QSD) and develops a model for predicting the success probability of QSD projects. The results show that as the QSD process matures, project success probability significantly increases and costs are notably reduced. The developed prediction model can help practitioners focus on key areas for successful implementation of QSD projects.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Developer and End-User Perspectives on Addressing Human Aspects in Mobile eHealth Apps

Md. Shamsujjoha, John Grundy, Hourieh Khalajzadeh, Qinghua Lu, Li Li

Summary: This paper investigates the challenges and benefits of incorporating human aspects into eHealth app development and usage from the perspectives of developers and end-users. The study used a mixed-method approach and gathered data from online surveys and interviews. The findings suggest that addressing human aspects throughout the app development life-cycle is beneficial for more effective eHealth apps.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Understanding how early-stage researchers leverage socio-technical affordances for distributed research

Yuchao Jiang, Boualem Benatallah, Marcos Baez

Summary: This paper reports on interviews and surveys with early-stage researchers (ESRs) and explores the potential of online research communities in supporting ESRs to learn from diverse perspectives and experiences. The results reveal the limited adoption of research communities for learning and identify unmet needs in their design. Design implications for future socio-technical systems are provided to support the development of research skills.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Deep learning-based software bug classification

Jyoti Prakash Meher, Sourav Biswas, Rajib Mall

Summary: Accurate bug classification is important for speeding up bug triage, code inspection, and repair tasks. To improve classification, this study proposes a novel bug classification approach based on deep learning. The approach includes building a bug taxonomy with eight bug classes using keywords, annotating a large set of bug resolution reports, and utilizing attention-based classification techniques. Experimental results show that the proposed technique outperforms existing methods in terms of F1-Score by an average of 16.88% on the considered dataset.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Software Engineering for Systems-of-Systems and Software Ecosystems

Rodrigo Santos, Eleni Constantinou, Pablo Antonino, Jan Bosch

Summary: In the last decade, software engineering has faced challenges beyond technical aspects. The field now considers technological, organizational, and social aspects together in research and practice to handle complexity and provide solutions to the industry's demands. Systems-of-systems (SoS) and software ecosystems (SECO) have emerged as topics of interest, bringing together researchers and practitioners to understand how to manage and engineer software-intensive systems in modern, complex, distributed, dynamic, and open environments.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Stratified random sampling for neural network test input selection

Zhuo Wu, Zan Wang, Junjie Chen, Hanmo You, Ming Yan, Lanjun Wang

Summary: In this paper, a statistical method called Stratified random Sampling with Optimum Allocation (SSOA) is proposed to provide an unbiased estimation of model accuracy with the smallest estimation variance. The unlabeled test set is first divided into strata based on predictive confidences. Then, two stratum accuracy variance estimation methods are designed to allocate the given budget to each stratum based on the optimum allocation strategy. Multiple experiments are conducted to evaluate the effectiveness and stability of SSOA by comparing it with baseline methods.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Review Computer Science, Information Systems

The consolidation of game software engineering: A systematic literature review of software engineering for industry-scale computer games

Jorge Chueca, Javier Veron, Jaime Font, Francisca Perez, Carlos Cetina

INFORMATION AND SOFTWARE TECHNOLOGY (2024)