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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide