[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

Software Architecture Optimization Methods: A Systematic Literature Review

Published: 01 May 2013 Publication History

Abstract

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.

Cited By

View all
  • (2024)Supporting Early Architectural Decision-Making through Tradeoff Analysis: A Study with Volvo CarsCompanion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering10.1145/3663529.3663860(411-416)Online publication date: 10-Jul-2024
  • (2024)The Architect in the Maze: On the Effective Usage of Automated Design ExplorationProceedings of the 1st International Workshop on Designing Software10.1145/3643660.3643947(9-14)Online publication date: 15-Apr-2024
  • (2024)From Requirements to Architecture: An AI-Based Journey to Semi-Automatically Generate Software ArchitecturesProceedings of the 1st International Workshop on Designing Software10.1145/3643660.3643942(52-55)Online publication date: 15-Apr-2024
  • Show More Cited By

Recommendations

Reviews

Hassan Reza

Software architecture has an important role in solving the problems of today's complex systems, especially the difficulty of manually searching and selecting the optimal solution from an exponentially growing design space. There is a gap in the existing work on software architecture optimization research. The authors of this paper present a comprehensive literature review of 188 papers in the area of software architecture optimization, using a systematic survey and screening process to include the most relevant papers in this area. Some contributions of this work include the screening guidelines used to rank and select the most relevant and significant works related to the optimization of software architecture using artificial intelligence and conventional methods, and the exclusion criteria used to eliminate candidate papers that focus on architecturally insignificant problems. The paper also introduces an evaluation technique that uses a well-designed taxonomy scheme to classify the existing optimization works into three major categories: problem (how the problem is represented or formulated), solution (the solution techniques that were used), and validation (how the approach was evaluated or tested). The authors identify gaps in the existing research and propose new directions to improve the state of research in the architectural optimization area. The significance of this survey work builds on the systematic literature review proposed originally by Kitchenham [1]. The goal of the review protocol is to provide proper answers to the fundamental survey questions formulated by the authors. To answer these questions, the literature review process employed three phases: planning (or setup), conducting (or data extraction), and reporting (identifying the gap and proposing new research directions). The planning phase (setup task) includes the definition of the review protocol, the selection of search engines, the development of a keyword list with definitions, a keyword-based collection of published architecture optimization papers, and filtering mechanisms to include or exclude papers. The content of the selected papers was then analyzed to create the taxonomy for classifying existing approaches to architectural optimization. An iterative coding process was then used to update the initial taxonomy. The output of the planning phase is used as an input to the conducting phase to extract and check data. The main objective is to collect and validate significant works in the area of architectural optimization. The reporting phase involves a cross-analysis of the survey results to identify holes in the existing work and to propose new research directions for future work in this particular area. The authors conducted an extensive literature review to systematically select significant work in the area of software architecture optimization. The taxonomy and process used to identify and document this body of work is very rigorous. For instance, each major category (problem, solution, and validation) has been further classified by subcategories (for example, domain, quality evaluation, and so on) to incorporate various aspects of optimization based on the software architecture of a system. Thirteen tables were devised to properly document all of these aspects of optimization approaches using the taxonomy framework. This paper is well written and well organized. I recommend it to graduate students who are eager to pursue research in the areas of software architecture, architectural design tools, architectural tradeoff analysis, or quality-oriented software architecture. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering  Volume 39, Issue 5
May 2013
154 pages

Publisher

IEEE Press

Publication History

Published: 01 May 2013

Author Tags

  1. Computer architecture
  2. Optimization methods
  3. Software
  4. Software architecture
  5. Software architecture optimization
  6. Systematics
  7. Taxonomy
  8. optimization methods
  9. problem overview
  10. systematic literature review

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Supporting Early Architectural Decision-Making through Tradeoff Analysis: A Study with Volvo CarsCompanion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering10.1145/3663529.3663860(411-416)Online publication date: 10-Jul-2024
  • (2024)The Architect in the Maze: On the Effective Usage of Automated Design ExplorationProceedings of the 1st International Workshop on Designing Software10.1145/3643660.3643947(9-14)Online publication date: 15-Apr-2024
  • (2024)From Requirements to Architecture: An AI-Based Journey to Semi-Automatically Generate Software ArchitecturesProceedings of the 1st International Workshop on Designing Software10.1145/3643660.3643942(52-55)Online publication date: 15-Apr-2024
  • (2024)Focusing on What Matters: Explaining Quality Tradeoffs in Software-Intensive Systems Via Dimensionality ReductionIEEE Software10.1109/MS.2023.332068941:1(64-73)Online publication date: 1-Jan-2024
  • (2024)Multi-task collaborative method based on manifold optimization for automated test case generation based on path coverageExpert Systems with Applications: An International Journal10.1016/j.eswa.2024.123932251:COnline publication date: 24-Jul-2024
  • (2024)Formulating a quality model for cloud-native software architectures: conceptual and methodological considerationsCluster Computing10.1007/s10586-024-04343-427:4(4077-4093)Online publication date: 25-Mar-2024
  • (2024)Modeling more software performance antipatterns in cyber-physical systemsSoftware and Systems Modeling (SoSyM)10.1007/s10270-023-01137-x23:4(1003-1023)Online publication date: 1-Aug-2024
  • (2024)Automated Static Analysis of Quality of Service Properties of Communicating SystemsFormal Methods10.1007/978-3-031-71177-0_7(84-103)Online publication date: 9-Sep-2024
  • (2023)Software Architecture in Practice: Challenges and OpportunitiesProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616367(1457-1469)Online publication date: 30-Nov-2023
  • (2023)Automated Detection of Software Performance Antipatterns in Java-Based ApplicationsIEEE Transactions on Software Engineering10.1109/TSE.2023.323432149:4(2873-2891)Online publication date: 1-Apr-2023
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media