4.6 Review

Software Architecture Optimization Methods: A Systematic Literature Review

Journal

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
Volume 39, Issue 5, Pages 658-683

Publisher

IEEE COMPUTER SOC
DOI: 10.1109/TSE.2012.64

Keywords

Software architecture optimization; systematic literature review; optimization methods; problem overview

Ask authors/readers for more resources

Due to significant industrial demands toward software systems with increasing complexity and challenging quality requirements, software architecture design has become an important development activity and the research domain is rapidly evolving. In the last decades, software architecture optimization methods, which aim to automate the search for an optimal architecture design with respect to a (set of) quality attribute(s), have proliferated. However, the reported results are fragmented over different research communities, multiple system domains, and multiple quality attributes. To integrate the existing research results, we have performed a systematic literature review and analyzed the results of 188 research papers from the different research communities. Based on this survey, a taxonomy has been created which is used to classify the existing research. Furthermore, the systematic analysis of the research literature provided in this review aims to help the research community in consolidating the existing research efforts and deriving a research agenda for future developments.

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.6
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

Article Computer Science, Theory & Methods

A hybrid machine learning model for intrusion detection in VANET

Hind Bangui, Mouzhi Ge, Barbora Buhnova

Summary: This paper proposes a new machine learning model to enhance the performance of IDSs by using Random Forest and posterior detection based on coresets to improve detection accuracy and efficiency. Experimental results demonstrate that the proposed model can significantly improve detection accuracy.

COMPUTING (2022)

Article Computer Science, Software Engineering

An Experimental Assessment of Using Theoretical Defect Predictors to Guide Search-Based Software Testing

Anjana Perera, Aldeida Aleti, Burak Turhan, Marcel Bohme

Summary: This paper proposes a new SBST technique called PreMOSA, which combines coverage information with defect prediction information to determine where to increase test coverage in the CUT. Experimental results show that PreMOSA is more effective and efficient than DynaMOSA in detecting bugs, detecting up to 8.3% more bugs on average.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2023)

Article Computer Science, Software Engineering

Better Scrum through Essence

Ivar Jacobson, Jeff Sutherland, Brian Kerr, Barbora Buhnova

Summary: This article discusses the challenges of modern software development and introduces the synergy of Scrum and Essence to improve software development effectiveness and team working.

SOFTWARE-PRACTICE & EXPERIENCE (2022)

Article Computer Science, Software Engineering

Feature-based software design pattern detection

Najam Nazar, Aldeida Aleti, Yaokun Zheng

Summary: Software design patterns are standard solutions to common problems in software design and architecture, and automatic detection of design patterns can improve efficiency. The new design pattern detection method DPDF, using machine learning classifiers and code features, achieves precision over 80% and recall over 79%, outperforming existing methods.

JOURNAL OF SYSTEMS AND SOFTWARE (2022)

Article Computer Science, Information Systems

A property specification pattern catalog for real-time system verification with UPPAAL

Thomas Vogel, Marc Carwehl, Genaina Nunes Rodrigues, Lars Grunske

Summary: This work presents a comprehensive specification pattern catalog for UPPAAL, which supports qualitative and real-time requirements and covers all corresponding patterns of existing catalogs. The catalog is integrated with UPPAAL, allowing for the specification of requirements using patterns and providing an automated generator for translating these requirements into observer automata and TCTL formulas.

INFORMATION AND SOFTWARE TECHNOLOGY (2023)

Article Computer Science, Software Engineering

RaQuN: a generic and scalable n-way model matching algorithm

Alexander Schultheiss, Paul Maximilian Bittner, Alexander Boll, Lars Grunske, Thomas Thuem, Timo Kehrer

Summary: Model matching algorithms are crucial for identifying common elements in input models. Existing n-way matching algorithms often suffer from scalability issues, but our proposed algorithm utilizes multi-dimensional search trees to efficiently find suitable match candidates, leading to significant improvements in both performance and matching quality.

SOFTWARE AND SYSTEMS MODELING (2023)

Article Computer Science, Software Engineering

Instance Space Analysis of Search-Based Software Testing

Neelofar Neelofar, Kate Smith-Miles, Mario Andres Munoz, Aldeida Aleti

Summary: Search-based software testing (SBST) is a mature area with techniques developed to tackle the challenging task of software testing. SBST techniques have been successfully applied in the industry to generate test cases for large and complex software systems. However, their effectiveness depends on the problem being addressed. This paper revisits the evaluation of SBST techniques using Instance Space Analysis (ISA) to visualize and assess their strengths and weaknesses across a broad range of problem instances from common benchmark datasets. The paper also examines the diversity and quality of benchmark datasets used in experimental evaluations.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2023)

Proceedings Paper Computer Science, Software Engineering

Detecting Inconsistencies in Software Architecture Documentation Using Traceability Link Recovery

Jan Keim, Sophie Corallo, Dominik Fuchss, Anne Koziolek

Summary: Documenting software architecture is crucial for a system's success as it provides information and improves comprehensibility. However, different forms of documentation can contain inconsistent information, leading to development and maintenance flaws. To address this issue, we propose an approach for detecting inconsistencies in natural language and formal architecture models.

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

Proceedings Paper Computer Science, Software Engineering

Automatic Derivation of Vulnerability Models for Software Architectures

Yves R. Kirschner, Maximilian Walter, Florian Bossert, Robert Heinrich, Anne Koziolek

Summary: Software architectures are becoming more and more interconnected, leading to an increased attack surface due to potential vulnerabilities in each component. Manual annotation of vulnerability information in architectural models is time-consuming and error-prone, especially for large systems. To address this, we propose an automated approach to annotate vulnerability information to architectural components, enabling model-based security risk assessment. We evaluate our approach using three open-source case studies and achieve high recall in identifying vulnerabilities.

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

Proceedings Paper Computer Science, Theory & Methods

Process Mining Analysis of Puzzle-Based Cybersecurity Training

Martin Macak, Radek Oslejsek, Barbora Buhnova

Summary: This paper presents a process mining method applied to learning analytics, specifically in the context of hands-on cybersecurity training. The method involves reconstructing behavioral graphs from sparse event logs and addressing the complexity of process graphs using puzzle-based gamification.

PROCEEDINGS OF THE 27TH ACM CONFERENCE ON INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, ITICSE 2022, VOL 1 (2022)

Proceedings Paper Computer Science, Interdisciplinary Applications

Automatically finding Metamorphic Relations in Computational Material Science Parsers

Sebastian Mueller, Valentin Gogoll, Anh Duc Vu, Timo Kehrer, Lars Grunske

Summary: Software testing is crucial but often faces difficulties in determining the expected outcome. This study explores the feasibility of using metamorphic testing to automatically identify relations between input and output pairs in the exciting-NOMAD parser, a widely used software package in computational material science. The analysis of the discovered metamorphic relations focuses on their quantity and quality, and the developed tool and used data are made available through a replication package.

2022 IEEE 18TH INTERNATIONAL CONFERENCE ON E-SCIENCE (ESCIENCE 2022) (2022)

Proceedings Paper Computer Science, Software Engineering

A Comparative Evaluation on the Quality of Manual and Automatic Test Case Generation Techniques for Scientific Software - A Case Study of a Python Project for Material Science Workflows

Daniel Truebenbach, Sebastian Mueller, Lars Grunske

Summary: Writing software tests is crucial for ensuring software quality, and automated test case generation is particularly helpful for researchers in the scientific field. In this case study, the efficacy of automatic test case generation approaches for the ASE Python project in material sciences was investigated. The results showed that while automated methods improved the original test suite, none were able to achieve the coverage reached by the manually created test suite.

15TH SEARCH-BASED SOFTWARE TESTING WORKSHOP (SBST 2022) (2022)

Proceedings Paper Computer Science, Software Engineering

BeDivFuzz: Integrating Behavioral Diversity into Generator-based Fuzzing

Hoang Lam Nguyen, Lars Grunske

Summary: This paper discusses the performance evaluation metric of fuzzers and emphasizes the importance of both coverage and behavioral diversity. Introducing BeDivFuzz, a feedback-driven fuzzing technique that achieves better behavioral diversity by employing mutation strategies based on validity and behavioral diversity.

2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2022) (2022)

Proceedings Paper Computer Science, Artificial Intelligence

Cybersecurity Analysis via Process Mining: A Systematic Literature Review

Martin Macak, Lukas Daubner, Mohammadreza Fani Sani, Barbora Buhnova

Summary: This study investigates the potential of applying process mining in cybersecurity and supports research efforts in this area by collecting existing applications, discussing current trends, and providing promising research directions.

ADVANCED DATA MINING AND APPLICATIONS, ADMA 2021, PT I (2022)

Proceedings Paper Computer Science, Artificial Intelligence

Game Achievement Analysis: Process Mining Approach

Martin Macak, Lukas Daubner, Julia Jamnicka, Barbora Buhnova

Summary: This study explores the potential of a process-oriented approach in the video game domain. By performing process analysis on the game achievement log, valuable insights into player behavior can be gained, and both the dataset and analysis source code are publicly available.

ADVANCED DATA MINING AND APPLICATIONS, ADMA 2021, PT II (2022)

No Data Available