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

EASIER: An Evolutionary Approach for Multi-objective Software ArchItecturE Refactoring

EASIER: An Evolutionary Approach for Multi-objective Software ArchItecturE Refactoring

Presentation at International Conference on Software Architecture (ICSA 2018)

Daniele Di Pompeo

May 03, 2018
Tweet

More Decks by Daniele Di Pompeo

Other Decks in Research

Transcript

  1. Department of Information Engineering, University of L’Aquila Computer Science and

    Mathematics SEA Group EASIER : an Evolutionary Approach for multi-objective Software archItecturE Refactoring Davide Arcelli, Vittorio Cortellessa Mattia D'Emidio, Daniele Di Pompeo 2ND IEEE International Conference on Software Architecture April 30 – May 4 2018, Seattle USA
  2. • Motivation • Background • EASIER – the framework •

    EASIER – a case study • Conclusion Agenda EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 2
  3. • Since more than one decade multi-objective optimization has been

    applied to several software architecture problems. • It has demonstrated to be a particularly effective paradigm on problems that can be natively formulated through quantifiable metrics. • The optimization of quality attributes (such as performance, reliability, usability) nicely fits into this category of problems. • These attributes are meaningful only if expressed through quantifiable metrics. Motivation EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 3
  4. Motivation EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring

    @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 4 • Among architecture quality attributes, performance is particularly complex. • It emerges from the combination of several software characteristics. • Very few ADLs embed constructs to specify performance parameters. • Even fewer ones provide tools to natively analyze performance within the same ADL environment.
  5. Goal EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring

    @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 5 Goal of this work is to introduce EASIER, a thorough environment in which software architecture (near optimal) refactoring can be studied vs. multiple objectives, with a special emphasis to performance.
  6. • Motivation • Background • EASIER – the framework •

    EASIER – a case study • Conclusion Agenda EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 6
  7. 03/05/2018 7 EASIER: an Evolutionary Approach for multi-objective Software archItecturE

    Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 Existing approaches PerOpteryx (A. Koziolek et al.) ArcheOpterix (L. Grunske et al.) SASSY (D. Menasce et al.)
  8. Novelties of EASIER EASIER: an Evolutionary Approach for multi-objective Software

    archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 8 • Operational aspects of the architectural refactoring path(s) • A solution vector (chromosome) is made of a sequence of refactoring actions • Concepts of : architectural distance, performance quality indicator • Role of performance antipatterns • All these aspects are taken into account into an unique environment • Conceived to be applied to different ADLs
  9. • Motivation • Background • EASIER – the framework •

    EASIER – a case study • Conclusion Agenda EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 9
  10. EASIER EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring

    @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 https://github.com/SEALABQualityGroup/EASIER 03/05/2018 10 • It is a Java application • It provides an engine for refactoring Æmilia models • It exploits a genetic algorithm (NSGA-II) to find a Pareto frontier of sequences of refactoring actions (Evolutionary Approach for multi-objective Software archItecturE Refactoring)
  11. EASIER – Overview EASIER: an Evolutionary Approach for multi-objective Software

    archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 11
  12. EASIER FLOW EASIER: an Evolutionary Approach for multi-objective Software archItecturE

    Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 12
  13. EASIER FLOW EASIER: an Evolutionary Approach for multi-objective Software archItecturE

    Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 13
  14. EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring @

    2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 14
  15. EASIER FLOW EASIER: an Evolutionary Approach for multi-objective Software archItecturE

    Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 15
  16. EASIER FLOW EASIER: an Evolutionary Approach for multi-objective Software archItecturE

    Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 16
  17. EASIER FLOW EASIER: an Evolutionary Approach for multi-objective Software archItecturE

    Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 17
  18. EASIER FLOW EASIER: an Evolutionary Approach for multi-objective Software archItecturE

    Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 18 • It quantifies the distance of an architectural alternative from the initial one, in terms of intensity of refactoring changes. • ArchDist is predefined for each RefactoringAction, but it can be modified. to minimize Fitness Function Objectives
  19. EASIER FLOW EASIER: an Evolutionary Approach for multi-objective Software archItecturE

    Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 19 • It counts the number of performance antipatterns occurrences within an alternative architecture. • It supports OCL for antipatterns detection rules specification and verification. • EASIER is the first approach that considers the number of PAs as an objective of an evolutionary algorithm's fitness function. to minimize Fitness Function Objectives
  20. EASIER FLOW EASIER: an Evolutionary Approach for multi-objective Software archItecturE

    Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 20 • Each j-th term of this sum assumes: • a positive value when we aim at minimizing (maximizing, resp.) the measure and such a measure, in the architectural alternative, exhibits a value Fj that is smaller (larger, resp.) than the assumed one in the original architecture, i.e. Ij ; • a negative or zero value otherwise. • Architectural alternatives whose overall performance is better (worse, resp.) than the initial one will be associated with positive (negative, resp.) values of performance quality indicator Fitness Function Objectives
  21. EASIER FLOW EASIER: an Evolutionary Approach for multi-objective Software archItecturE

    Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 21 • … and a special case for utilization indices Fitness Function Objectives
  22. EASIER FLOW EASIER: an Evolutionary Approach for multi-objective Software archItecturE

    Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 22
  23. EASIER FLOW EASIER: an Evolutionary Approach for multi-objective Software archItecturE

    Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 23
  24. 03/05/2018 24 EASIER: an Evolutionary Approach for multi-objective Software archItecturE

    Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 Æmilia – ChangeRate Refactoring Action
  25. 03/05/2018 25 EASIER: an Evolutionary Approach for multi-objective Software archItecturE

    Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 Æmilia – CloneAEI Refactoring Action
  26. 03/05/2018 26 EASIER: an Evolutionary Approach for multi-objective Software archItecturE

    Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 Æmilia – CloneAEI Refactoring Action
  27. • Motivation • Background • EASIER – the framework •

    EASIER – a case study • Conclusion Agenda EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 27
  28. EASIER – Case study : Fire Tracking System (FTS) EASIER:

    an Evolutionary Approach for multi-objective Software archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 28 • A WSN monitors the environment with a certain pace/workload. • Sample data, through a channel (CHN), are stored in a database (DB) • A Fire Tracking Application (FTA) analyzes data, and triggers an alarm in case of a risky situation. • Secure communication occurs between WSN and the firefighter's desktop application (DSK) is guaranteed • Decryption is performed by a security component (SCR) • Data are exchanged through a LAN that connects FTA to DB, DSK and SRC.
  29. 03/05/2018 EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring

    @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 29 EASIER – Results
  30. EASIER – Results EASIER: an Evolutionary Approach for multi-objective Software

    archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 30
  31. EASIER – Results EASIER: an Evolutionary Approach for multi-objective Software

    archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 31 #ep-#pop 1/ArchDist PerfQ 1/#PA Near-Pareto optimal
  32. EASIER – Results EASIER: an Evolutionary Approach for multi-objective Software

    archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 32
  33. EASIER – Results EASIER: an Evolutionary Approach for multi-objective Software

    archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 33
  34. • Motivation • Background • EASIER – the framework •

    EASIER – a case study • Conclusion Agenda EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 34
  35. Afterthoughts EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring

    @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 03/05/2018 35 • EASIER captures very interesting Pareto-front solutions… • … in a reasonable time up to certain population/epoch numbers • PerfQ is a realistic index for performance improvement/degradation • ArchDist generates interesting tradeoffs between architectural improvement and measures related to architectural changes necessary to achieve those improvements • The computation accuracy of number #PA of performance antipatterns needs to be improved threshold problem • This would open new possibilities into EASIER (e.g. keeping only #PA as a performance index)
  36. Implement a smart procedure for PA thresholds Extend refactoring actions

    Use other evolutionary methods… … on larger size case studies Experiment onto other modeling languages Consider other attributes (e.g. availability- based refactoring) Future work 03/05/2018 EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 36
  37. Department of Information Engineering University of L’Aquila Computer Science and

    Mathematics SEA Group [email protected] [email protected] Questions? 2ND IEEE International Conference on Software Architecture EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring @ 2nd IEEE International Conference on Software Architecture, Seattle 2018 April 30 – May 4 2018, Seattle USA [email protected] [email protected] 03/05/2018 37