Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Quality Attributes Optimization of Software Architecture: Research Challenges and Directions

Quality Attributes Optimization of Software Architecture: Research Challenges and Directions

The estimation and improvement of quality attributes in software architectures is a challenging and time-consuming activity. On modern software applications, a model-based representation is crucial to face the complexity of such activity.

One main challenge is that the improvement of distinctive quality attributes may require contrasting refactoring actions on the architecture, for instance when looking for trade-off between performance and reliability (or other non-functional quality attributes). In such cases, multi-objective optimization can provide the designer with a more complete view on these trade-offs and, consequently, can lead to identify suitable refactoring actions that take into account independent or even competing objectives.

In this paper, we present open challenges and research directions to fill current gaps in the context of multi-objective software architecture optimization.

Daniele Di Pompeo

March 14, 2023
Tweet

More Decks by Daniele Di Pompeo

Other Decks in Research

Transcript

  1. Quality Attributes Optimization of Software Architecture: Research Challenges and Directions

    Daniele Di Pompeoα Michele Tucciβ [email protected]α, [email protected]β α University of L’Aquila, Italy β Charles University, Czech Republic MDE4SA @ ICSA 2023, 14 March 2023 Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 1 / 13
  2. Motivation The estimation and improvement of quality attributes in software

    architectures is a challenging and time-consuming activity. Multi-objective optimization approaches used to solve model refactoring optimization issues12. Searching among design alternatives (for example, through architectural tactics) is a typical feature of multi-objective optimization methodologies 1[1] Cortellessa and Di Pompeo. “Analyzing the sensitivity of multi-objective software architecture refactoring to configuration characteristics”. 2021. 2[2] Ni et al. “Multi-objective software performance optimisation at the architecture level using randomised search rules”. 2021. Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 2 / 13
  3. A multi-objective model-based framework at a glance Initial Architecture: The

    subject architecture to be optimized Refactoring actions: The refactoring actions are the set of all available actions selection, mutation, and crossover to create Architecture Alternatives. Evaluate fitness function through fighting objectives. Multi-objective when there are more than 1 objective. Many-objective when the objectives are more than 3 [are the stopping criteria met?] Initial Architecture Architecture Alternatives Refactoring Actions Bio-Inspired Actions Objectives ... Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 3 / 13
  4. Identified Open Challenges Lack of automation Problem formalization Time and

    resources requirements Architectural quality metrics Explainability Reproducibility Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 4 / 13
  5. Open Challenges: Lack of automation Search-based techniques require to generate

    a higher number of alternatives, even thousands. Automation to form alternatives is a must-have functionality in every model-based optimization framework. Automation is strictly related to the modelling notation and its expressiveness. Automation would be a step ahead towards the adoption of search-based techniques Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 5 / 13
  6. Open Challenges: Lack of automation Search-based techniques require to generate

    a higher number of alternatives, even thousands. Automation to form alternatives is a must-have functionality in every model-based optimization framework. Automation is strictly related to the modelling notation and its expressiveness. Automation would be a step ahead towards the adoption of search-based techniques The first refactoring engine for UML Our refactoring enginea built atop the Epsilon suite. Employed in a search-based optimization framework, where we sought optimal solutions with respect to four fighting objectivesb a[4] Arcelli, Cortellessa, and Di Pompeo. “Performance-driven software model refactoring”. 2018. b[5] Di Pompeo and Tucci. “Search Budget in Multi-Objective Refactoring Optimization: a Model-Based Empirical Study”. 2022. Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 5 / 13
  7. Open Challenges: Problem formalization There not exist guidelines in literature

    to represent specific problems as chromosomes Positional structure Exploited to draw problems in model-based optimization studies [3, 2]. Thus, each position of the chromosome have a fixed meaning. + fastest execution of bio-inspired actions on them. - too inexpressive within the context of model-based software refactoring. Action-based structure + reports a refactoring action into a chromosome positiona - slower than the positional structure due to its complexity of compatibility checking a[4] Arcelli, Cortellessa, and Di Pompeo. “Performance-driven software model refactoring”. 2018. Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 6 / 13
  8. Open Challenges: Problem formalization There not exist guidelines in literature

    to represent specific problems as chromosomes Research Direction We see an interesting research direction of the problem formalization within model-based software optimization that should fill the gap with more established search-based optimization problems. Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 6 / 13
  9. Open Challenges: Time and resources requirements Improving quality attributes by

    means of optimization techniques often requires a considerable amount of time and resources It is challenging to make model-based SBSE activities more efficient due to the complexity and the tool-chain employed in these contexts The process involves a number of transformations from software design models to non-functional models Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 7 / 13
  10. Open Challenges: Time and resources requirements Research Direction This clearly

    poses a challenge in adopting search-based optimization techniques in practical software engineering scenarios. Given the random nature of the algorithms that are usually employed in this context, it is very difficult to predict how long it will take for the process to complete. This issue is exacerbated by the fact that, in most cases, the solution space is unknown to the designer at the beginning of the optimization. Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 7 / 13
  11. Open Challenges: Architectural quality metrics Quality Indicators only provide numerical

    feedback for each objective on solutions in the Pareto front Compare solutions in a Pareto front with the initial architecture needs a specific indicator Such a comparison is crucial because it guides the decision-making process of adopting a new design. Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 8 / 13
  12. Open Challenges: Architectural quality metrics Research Direction Quality metrics that

    represent architectural aspects could make the comparison practical, and avoid inspecting every solution to obtain enough knowledge to make an informed decision We introduce a cost metric to estimate the effort and the distance among models belong to a Pareto front and the initial onea a[6] Cortellessa et al. “Many-objective optimization of non-functional attributes based on refactoring of software models”. 2023. Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 8 / 13
  13. Open Challenges: Explainability Solutions that are obtained through multi-objective optimization

    do not carry information about the specific causes that led to the generation and selection of such solutions. We cannot explain why some modifications should be applied to our architecture other than for the quality attributes they seem to improve Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 9 / 13
  14. Open Challenges: Explainability Solutions that are obtained through multi-objective optimization

    do not carry information about the specific causes that led to the generation and selection of such solutions. We cannot explain why some modifications should be applied to our architecture other than for the quality attributes they seem to improve Research Direction The lack of explainability of results makes it difficult for the designer to justify the new modifications that she is proposing on the basis of a completely automated process. Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 9 / 13
  15. Open Challenges: Reproducibility Reproducing results of optimization experiments has been

    an important concern in recent years, both for researchers and practitioners. The solution space is built as the process goes on and the set of architectural elements that are possible targets of modifications changes. The main obstacle is represented by the random nature of many optimization techniques when it comes to the generation of new solutions and the exploration of the solution space. Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 10 / 13
  16. Open Challenges: Reproducibility Reproducing results of optimization experiments has been

    an important concern in recent years, both for researchers and practitioners. The solution space is built as the process goes on and the set of architectural elements that are possible targets of modifications changes. The main obstacle is represented by the random nature of many optimization techniques when it comes to the generation of new solutions and the exploration of the solution space. Research Direction Achieving perfect reproducibility is still a challenge in architectural optimization, and one that is rarely addressed by the relevant literature. Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 10 / 13
  17. Future Work Our agenda foster new research activities in the

    field of software architecture optimization, especially for the optimization of non-functional properties, such as performance and reliability. As short-term future work, we will try to tackle the challenge about the lack of automation3 As mid-term future work, we will attempt to address the challenge about the architectural quality metrics by exploiting quality estimation techniques well-recognized in the search-based community4 As long-term future work, we will attempt to address the challenge about the problem formalization with an empirical analysis of several software architectures 3[7] Cortellessa et al. “On the impact of Performance Antipatterns in multi-objective software model refactoring optimization”. 2021; [8] Arcelli et al. “EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring”. 2018. 4[10] Li, Chen, and Yao. “How to Evaluate Solutions in Pareto-Based Search-Based Software Engineering: A Critical Review and Methodological Guidance”. 2022. Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 11 / 13
  18. Conclusion We reported open challenges of quality attributes optimization of

    software architectures. These open challenges hinder the utilization of search-based techniques in software architecture optimization. Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 12 / 13
  19. Any Questions? Quality Attributes Optimization of Software Architecture: Research Challenges

    and Directions Daniele Di Pompeoα Michele Tucciβ [email protected]α, [email protected]β α University of L’Aquila, Italy β Charles University, Czech Republic MDE4SA @ ICSA 2023, 14 March 2023 Di Pompeo, Tucci Quality Attributes Optimization of Software Architecture: Research Challenges and Directions 13 / 13