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

On the impact of Performance Antipatterns inmulti-objective software model refactoring optimization

On the impact of Performance Antipatterns inmulti-objective software model refactoring optimization

Euromicro Conference on Software Engineering and Advanced Applications (SEAA 2021) paper presentation

Daniele Di Pompeo

September 01, 2021
Tweet

More Decks by Daniele Di Pompeo

Other Decks in Research

Transcript

  1. On the impact of Performance Antipatterns in multi-objective software model

    refactoring optimization Vittorio Cortellessaα Daniele Di Pompeoβ Vincenzo Stoicoγ Michele Tucciδ {vittorio.cortellessaα, daniele.dipompeoβ, michele.tucciγ}@univaq.it vincenzo.stoicoδ@graduate.univaq.it Department of Information Engineering, Computer Science and Mathematics University of L’Aquila Euromicro DSD-SEAA, 1-3 September 2021 D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 1 / 16
  2. Software Quality Estimation Challenge Software quality estimation is challenging and

    time-consuming. Models are crucial to face the complexity of quality estimation. Models can be: • used to estimate non-functional properties of the system; • refactored to evaluate a new and upgraded software design; Goal Identification of optimal refactoring actions leading to improved software models D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 2 / 16
  3. Exploiting Multi-Objective Optimization Techniques The identification of optimal refactoring actions

    is a non-trivial task: • due to the large space of solution; • lack of automated support; A multi-objective optimization approaches are widely used to speed the exploration and integrate [1, 2, 3, 4, 5, 6, 7] Our proposal exploits a multi-objective evolutionary algorithm (i.e., NSGA-II) to obtain sequences of refactoring action that improve the initial design D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 3 / 16
  4. Our multi-objective evolutionary approach NSGA-II combines randomly generated refactoring actions

    into solutions (i.e., sequences of actions) and compares them according to the objectives. The search takes into account: • #pas = Number of Performance Antipatterns; • ArchDist = Architectural Distance • reliability; • PerfQ = Performance Quality Indicator; D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 4 / 16
  5. performance antipatterns We use the fuzzy threshold concept [8] 1

    − UB(literal) − literal UB(literal) − LB(literal) • The upper bound (UB): the maximum values of the literal • The lower bound (LB): the minimum values of the literal Instead of detecting a performance antipattern in a deterministic way, such thresholds lead to assign probabilities to antipattern occurrences. D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 5 / 16
  6. ArchDist Quantifies the distance of the refactored model to the

    initial one. A baseline refactoring factor (BRF) expresses the refactoring effort to be spent when applying the action. An architectural weight (AW) is associated with each model element on the basis of the number of connections to other elements in the model. The ArchDist of two refactoring actions is quantified as follows: ArchDist(A1, A2) = 1.23 · 1.43 + 2.3 · 1.32 D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 6 / 16
  7. reliability The reliability objective is based on the model introduced

    in [9]. The mean failure probability θS of a software system S is defined by the following equation: θS = 1 − K j=1 pj N i=1 (1 − θi )InvNrij · L l=1 (1 − ψl )MsgSize(l,j) It takes into account failure probabilities of components (θi ) and communication links (ψl ), as well as the probability of a scenario to be executed (pj ). D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 7 / 16
  8. Performance Quality Indicator (perfQ) Quantifies the performance improvement/detriment between two

    models, and it is defined as follows: perfQ(M) = 1 c c j=1 pj · Fj − Ij Fj + Ij • M is the refactored model • Fj is the value of a performance index in M • Ij is the value of the same index on the initial model • p ∈ {−1, 1} is a multiplying factor: 1 if the j–th index has to be maximized, −1 otherwise The global perfQ is computed as the average across the number c of performance indices considered in the performance analysis. D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 8 / 16
  9. UML2LQN Maps a UML Node stereotyped with MARTE GaExecHost with

    at least an interacting component deployed on it, to an LQN Processor. A component is an interacting component if there is at least a UML Lifeline in at least one of the considered UML Use Cases. customer [0.3] catalogue [0.3] Application {3} User {2} User Client {in} Server {in} «GaExecHost» Client «artifact» User Entry Task Mean Host Demand Processor (1) (h) (h) Mean Number of Request (1) Host (h) UML LQN Lifeline Node [0.3] Artifact D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 9 / 16
  10. Experimental Setting Our approach is applied to the Train Ticket

    Booking Service (TTBS) case study [10]: a web-based booking application made up of 40 microservices. We investigated which configuration produces better Pareto frontiers. After multiple tuning runs, we have set: • The length of refactoring sequences to 4 actions; • The initial population size to 16 elements (i.e., 16 different UML alternative models); • We have set the probabilities of crossover and mutation to 0.8 and 0.2, respectively, following common configurations [11]; D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 10 / 16
  11. RQ1: Does antipattern detection contribute to find better solutions compared

    to the case where antipatterns are not considered at all? 0.05 0.00 0.05 0.10 0.15 0.20 0.25 PerfQ 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Reliability initial with PAs (.95 fuzziness) without PAs D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 11 / 16
  12. RQ2: Does the probabilistic nature of fuzzy antipatterns detection help

    to include higher quality solutions in Pareto frontiers with respect to deterministic one? 0.05 0.00 0.05 0.10 0.15 0.20 0.25 PerfQ 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Reliability initial Fuzziness: .55 .80 .95 D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 12 / 16
  13. RQ3: Is the approach able to keep the system reliability

    satisfactorily high? 0.05 0.00 0.05 0.10 0.15 0.20 0.25 PerfQ 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Reliability initial Fuzziness: .55 .80 .95 D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 13 / 16
  14. Conclusions − We obtain better solutions in terms of performance

    and reliability, by including the detection of performance antipatterns in the optimization process − The more we increase the fuzziness of performance antipattern detection, the better the quality of the refactoring solutions. − Another important aspect of our study was to ensure that the reliability of solutions remained within satisfactory levels. D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 14 / 16
  15. Reference [1] Aurora Ramı´ Orez, Jos´ e Ra´ ul Romero,

    and Sebasti´ an Ventura. “A survey of many-objective optimisation in search-based software engineering”. In: JSS 149 (2019), pp. 382–395. [2] Thain´ a Mariani and Silvia Regina Vergilio. “A systematic review on search-based refactoring”. In: JIST 83 (Mar. 2017), pp. 14–34. [3] Ali Ouni, Marouane Kessentini, and Katsuro Inoue. “Search-based Web Service Antipatterns Detection”. In: TEVC 10.4 (2017), pp. 603–617. [4] Ali Ouni et al. “Search-Based Web Service Antipatterns Detection”. In: TSC 10.4 (2017), pp. 603–617. [5] Mitrabinda Ray and Durga Prasad Mohapatra. “Multi-objective test prioritization via a genetic algorithm”. In: Innov. Syst. Softw. Eng. 10.4 (2014), pp. 261–270. [6] Gabriele Bavota, Massimiliano Di Penta, and Rocco Oliveto. “Search Based Software Maintenance: Methods and Tools”. In: Evol. Soft. Sys. 2014, pp. 103–137. [7] Marouane Kessentini et al. “Search-based model transformation by example”. In: SOSYM 11.2 (2012), pp. 209–226. [8] Davide Arcelli, Vittorio Cortellessa, and Catia Trubiani. “Performance-Based Software Model Refactoring in Fuzzy Contexts”. In: FASE. 2015, pp. 149–164. [9] Vittorio Cortellessa, Harshinder Singh, and Bojan Cukic. “Early reliability assessment of UML based software models”. In: WOSP@ISSTA. 2002, pp. 302–309. [10] Daniele Di Pompeo et al. “A Microservice Reference Case Study for Design-Runtime Interaction in MDE”. In: STAF MDE@DeRun Workshop. Vol. 2405. 2019, pp. 23–32. [11] Andrea Arcuri and Gordon Fraser. “Parameter tuning or default values? An empirical investigation in search-based software engineering”. In: Empirical Software Engineering 18.3 (2013), pp. 594–623. doi: https://doi.org/10.1007/s10664-013-9249-910.1007/s10664-013-9249-9. D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 15 / 16
  16. Any Questions? On the impact of Performance Antipatterns in multi-objective

    software model refactoring optimization Vittorio Cortellessaα Daniele Di Pompeoβ Vincenzo Stoicoγ Michele Tucciδ {vittorio.cortellessaα, daniele.dipompeoβ, michele.tucciγ}@univaq.it vincenzo.stoicoδ@graduate.univaq.it Department of Information Engineering, Computer Science and Mathematics University of L’Aquila Euromicro DSD-SEAA, 1-3 September 2021 D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 16 / 16