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

On the impact of Performance Antipatterns inmulti-objective software model refactoring optimization @ SPEC RG - DevOps

On the impact of Performance Antipatterns inmulti-objective software model refactoring optimization @ SPEC RG - DevOps

Presentation at Spec RG -- DevOps of the paper "On the impact of Performance Antipatterns inmulti-objective software model refactoring optimization", accepted at Euromicro SEAA 2021,

Daniele Di Pompeo

October 26, 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 47th Euromicro Software Engineering and Advanced Applications 2021 Vittorio Cortellessaα Daniele Di Pompeoα Vincenzo Stoicoα Michele Tucciβ {vittorio.cortellessa, daniele.dipompeo}@univaq.it [email protected] [email protected] University of L’Aquila, Italyα Charles University, Czech Republicβ @ SPEC RG – DevOps D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 1 / 19
  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 / 19
  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 search the solution space [1, 2, 3, 4, 5, 6, 7] We exploit NSGA-II [8], as multi-objective algorithm, 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 / 19
  4. Our multi-objective evolutionary approach NSGA-II combines randomly generated refactoring actions

    into sequences of actions and evaluates them according to the 4 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 / 19
  5. performance antipatterns We use the fuzzy threshold concept [9] 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 / 19
  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 / 19
  7. reliability The reliability objective is based on the model introduced

    in [10]. 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 / 19
  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 / 19
  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 / 19
  10. Refactoring Engine We introduce a feasibility engine that verifies in

    advance whether a sequence of refactoring actions is feasible or not [11]. Each refactoring action is equipped with a pre/post-condition, which describe the state of the subject model before and after the application of the action. The engine reduces a sequence of refactoring action pre/post-conditions to a single refactoring action condition, which includes all the changes [12]. ⇓ Remark Automation is a key point when evolutionary algorithms are employed D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 10 / 19
  11. Refactoring Engine: An example D. Di Pompeo On the impact

    of Performance Antipatterns in multi-objective software model refactoring optimization 11 / 19
  12. Experimental Setting Our approach is applied to the Train Ticket

    Booking Service (TTBS) reference case study [13] After multiple tuning runs, we have set: • The length of the genome to 4 actions; • The initial population size to 16 elements; • The crossover and mutation probabilities to 0.8 and 0.2, respectively, following common configurations [14]; D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 12 / 19
  13. We wonder if . . . and We answer .

    . . - RQ1: Does antipattern detection contribute to find better solutions compared to the case where antipatterns are not considered at all? - RQ2: Does the probabilistic nature of fuzzy antipatterns detection help to include higher quality solutions in Pareto frontiers with respect to deterministic one? - RQ3: Is the approach able to keep the system reliability satisfactorily high? D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 13 / 19
  14. 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 14 / 19
  15. 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 15 / 19
  16. 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 16 / 19
  17. 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 17 / 19
  18. 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] Kalyanmoy Deb et al. “A fast and elitist multiobjective genetic algorithm: NSGA-II”. In: TEVC 6.2 (Apr. 2002), pp. 182–197. [9] Davide Arcelli, Vittorio Cortellessa, and Catia Trubiani. “Performance-Based Software Model Refactoring in Fuzzy Contexts”. In: FASE. 2015, pp. 149–164. [10] Vittorio Cortellessa, Harshinder Singh, and Bojan Cukic. “Early reliability assessment of UML based software models”. In: WOSP@ISSTA. 2002, pp. 302–309. [11] Davide Arcelli, Vittorio Cortellessa, and Daniele Di Pompeo. “A metamodel for the specification and verification of model refactoring actions”. In: Proceedings of the 2nd International Workshop on Refactoring, IWoR@ASE 2018, Montpellier, France, September 4, 2018. Ed. by Ali Ouni, Marouane Kessentini, and Mel ´ O Cinn´ eide. IWoR@ACM, 2018, pp. 14–21. doi: https://doi.org/10.1145/3242163.324216710.1145/3242163.3242167. [12] Mel ´ O Cinn´ eide and Paddy Nixon. “Composite refactorings for Java programs”. In: Formal Techniques for Java Programs. 2000, pp. 129–135. [13] 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. [14] 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 18 / 19
  19. Any Questions? On the impact of Performance Antipatterns in multi-objective

    software model refactoring optimization 47th Euromicro Software Engineering and Advanced Applications 2021 Vittorio Cortellessaα Daniele Di Pompeoα Vincenzo Stoicoα Michele Tucciβ {vittorio.cortellessa, daniele.dipompeo}@univaq.it [email protected] [email protected] University of L’Aquila, Italyα Charles University, Czech Republicβ D. Di Pompeo On the impact of Performance Antipatterns in multi-objective software model refactoring optimization 19 / 19