Article
Computer Science, Information Systems
Ahmed Baabad, Hazura Binti Zulzalil, Sa'adah Hassan, Salmi Binti Baharom
Summary: Software architecture plays a crucial role in determining success or failure in various software development and design fields. However, as a system evolves, software architecture tends to deteriorate, known as architectural erosion. This study conducted a systematic mapping and classification of architectural erosion metrics, identifying nearly 100 such metrics. The findings are significant for both researchers and practitioners, although further research is needed to address several ambiguous aspects.
Article
Computer Science, Software Engineering
Gaston Marquez, Hernan Astudillo, Rick Kazman
Summary: Architectural tactics are important for software architecture design and analysis. However, there is a lack of systematic definition and industrial evidence in the literature. This study presents a systematic mapping of architectural tactics, revealing the current status and identifying research opportunities.
JOURNAL OF SYSTEMS AND SOFTWARE
(2023)
Article
Computer Science, Software Engineering
Lina Garces, Silverio Martinez-Fernandez, Lucas Oliveira, Pedro Valle, Claudia Ayala, Xavier Franch, Elisa Yumi Nakagawa
Summary: Software reference architectures play an essential role in software systems development, but are not yet fully understood. Academic architectures aim to facilitate knowledge reuse, while industry focuses on standardization and maturity.
JOURNAL OF SYSTEMS AND SOFTWARE
(2021)
Review
Chemistry, Multidisciplinary
Vincent Bushong, Amr S. Abdelfattah, Abdullah A. Maruf, Dipta Das, Austin Lehman, Eric Jaroszewski, Michael Coffey, Tomas Cerny, Karel Frajtak, Pavel Tisnovsky, Miroslav Bures
Summary: Microservice architecture has become the leading design for cloud-native systems, offering benefits like faster deployment cycles and better scalability. However, understanding system module boundaries remains a challenge for engineers. The study aims to analyze approaches and techniques for microservice systems, providing a roadmap for future work.
APPLIED SCIENCES-BASEL
(2021)
Review
Computer Science, Software Engineering
Matheus Paixao, Jens Krinke, DongGyun Han, Chaiyong Ragkhitwetsagul, Mark Harman
Summary: Empirical evidence about how developers perform and perceive architectural changes is scarce, despite its importance in the software development lifecycle. Research shows that developers often lack awareness of the impact of their changes on software architecture, and discussions about architecture during code review can lead to better architectural improvements in final merged revisions.
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
(2021)
Review
Computer Science, Information Systems
Tiago G. F. Barros, Eronides F. Da Silva Neto, Joao Alexandre Da Silva Neto, Andre G. M. De Souza, Vitor B. Aquino, Erico S. Teixeira
Summary: This paper presents a Systematic Multivocal Mapping Study on IoT platforms and its main software elements to aid developers in selecting the right platform for implementing IoT solutions. The study identified AWS IoT, Azure IoT, Watson IoT, PTC ThingWorx, and Google IoT as the most important IoT platforms, with capabilities including interoperability, security and privacy, developer support, data management, device management, and services management.
Article
Computer Science, Software Engineering
Joshua Garcia, Ehsan Kouroshfar, Negar Ghorbani, Sam Malek
Summary: As software systems evolve, their architecture tends to decay, leading to elements resistant to maintenance or prone to defects. Engineers can benefit from predicting architectural decay, focusing maintenance resources on elements most likely to decay. Utilizing multiple architectural views and metrics can accurately predict low architectural quality, helping to enhance software stability.
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
(2021)
Article
Computer Science, Information Systems
Rafiq Ahmad Khan, Siffat Ullah Khan, Habib Ullah Khan, Muhammad Ilyas
Summary: Recent research shows that the field of software system security measures is still immature, and further research is needed especially in empirically evaluated solutions.
Article
Computer Science, Software Engineering
Nacha Chondamrongkul, Jing Sun, Ian Warren
Summary: Software architectural designs are typically changed to support emerging technologies and adhere to new principles. Architectural migration is crucial for transforming system designs and modernizing systems, but if not carried out correctly, could result in system failures. This article introduces an automated approach for refactoring architectural designs and planning the evolution process, ensuring system functionality is preserved.
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY
(2021)
Review
Computer Science, Software Engineering
Ruiyin Li, Peng Liang, Mohamed Soliman, Paris Avgeriou
Summary: This research systematically investigates the reasons, consequences, and ways of detecting and handling Architecture Erosion (AEr). It finds that AEr not only leads to architectural violations and structural issues, but also affects software quality and evolution. Non-technical reasons for AEr should receive equal attention as technical reasons, and a range of approaches and tools have been proposed to detect and tackle AEr. Empirical studies are needed to understand the practices of addressing AEr in industrial settings.
JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS
(2022)
Article
Computer Science, Software Engineering
Haris Mumtaz, Paramvir Singh, Kelly Blincoe
Summary: The need for high-quality software architecture is evident from the increasing trend in investigating architectural smells. However, there are still many limitations in current detection techniques and tools, indicating the need for further research to address these issues.
JOURNAL OF SYSTEMS AND SOFTWARE
(2021)
Article
Education & Educational Research
Bimal Aklesh Kumar, Bibhya Sharma, Elisa Yumi Nakagawa
Summary: Context-aware mobile learning applications provide personalized learning materials for individual learners, but the lack of architectural support in their development has led to challenges such as lack of standardization, poor quality of applications, and reliability issues. A reference architecture was designed to address these challenges and consolidate necessary requirements, as shown through evaluation results.
EDUCATION AND INFORMATION TECHNOLOGIES
(2022)
Article
Computer Science, Software Engineering
Raghvinder S. Sangwan, Ashkan Negahban, Robert L. Nord, Ipek Ozkaya
Summary: This article demonstrates the use of design structure and domain mapping matrices for analyzing architectural dependencies and proposes an optimization-based decision-making technique to support effective release planning. These models can be applied earlier in the development process and provide timely information.
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
(2022)
Review
Computer Science, Information Systems
Juncal Alonso, Leire Orue-Echevarria, Valentina Casola, Ana Isabel Torre, Maider Huarte, Eneko Osaba, Jesus L. Lobo
Summary: The evolution of Cloud Computing and IoT has led to an increased demand for computational and storage services. The traditional use of a single cloud provider is no longer valid due to drawbacks such as vendor lock-in. We are witnessing a paradigm shift towards the combination of multiple cloud service types, resulting in heterogeneous ecosystems and multi-cloud application concepts. This study aims to characterize multi-cloud native applications, establish their architectural characteristics, and identify open research issues through a systematic literature review. Five main research trends for improving the DevOps lifecycle of multi-cloud native applications are identified, and future directions and research challenges are discussed.
JOURNAL OF CLOUD COMPUTING-ADVANCES SYSTEMS AND APPLICATIONS
(2023)
Article
Computer Science, Information Systems
Jason Porter, Daniel A. Menasce, Hassan Gomaa
Summary: This paper introduces DeSARM, a decentralized and automated approach for runtime discovery of software architecture models of distributed software systems. DeSARM is able to identify important architectural characteristics and communication patterns at runtime through gossiping and message tracing. The method demonstrates scalability, global consistency, and resiliency to failures in discovering software architectures across varying sizes and complexities.
INFORMATION AND SOFTWARE TECHNOLOGY
(2021)
Article
Computer Science, Information Systems
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Jorge Chueca, Javier Veron, Jaime Font, Francisca Perez, Carlos Cetina
INFORMATION AND SOFTWARE TECHNOLOGY
(2024)