1 / 10

Software refactoring guided by multiple soft-goals

Software refactoring guided by multiple soft-goals. Yijun Yu, John Mylopoulos, Eric Yu, Julio C. Leite, Linda Lin Liu, University of Toronto Erik H. D’Hollander, University of Ghent. 1. Refactoring: modelling performance vs. complexity. real*8 A(512,512), B(512,512), C(512,512)

kalli
Télécharger la présentation

Software refactoring guided by multiple soft-goals

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software refactoring guided by multiple soft-goals Yijun Yu, John Mylopoulos, Eric Yu, Julio C. Leite, Linda Lin Liu, University of Toronto Erik H. D’Hollander, University of Ghent Refactoring workshop, WCRE'03

  2. 1. Refactoring: modelling performance vs. complexity real*8 A(512,512), B(512,512), C(512,512) M = L = N = 512 do i = 1,M do j = 1, L do k = 1, N C(i,k) = C(i,k) + A(i,j) * B(j,k) • GOAL: apply transformations to speedup the above program 20 times without increasing the code complexity 4 times Refactoring workshop, WCRE'03

  3. Experiment results Refactoring workshop, WCRE'03 Rationale in action >

  4. soft-goal:Type [Topic] Refactoring workshop, WCRE'03

  5. TYPE [TOPIC] operationalization OPERATION-ALIZED SOFTGOAL TYPE [SUBTOPIC] Topic taxonomy Decomposition method <label> TYPE [TOPIC] Contributioninterdependency Type taxonomy SUBTYPE [TOPIC] Refactoring workshop, WCRE'03

  6. Label propagations verify the choices Refactoring workshop, WCRE'03

  7. 2. Software evolution Without efforts, a software is generally subjected to • 1. Continuing changes • 2. Increasing complexity • 7. Declining quality in terms of performance [Lehmann96] Laws of software evolution revisited Refactoring workshop, WCRE'03

  8. 2. Header project: functionality and quality refactoring shift focus along evolution Refactoring workshop, WCRE'03

  9. 3. The goal-driven refactoring process … • Modelling non-functional qualities as soft-goals [Mylopoulos92] • Are they met? Decomposing soft-goals into interdependency graph [Chung94] • Catalogue the refactoring steps as operationalized soft-goals and make selections [c.f. Tahvildari01, Zou02] • Apply the refactoring steps and propagate the labels up to re-assess the soft-goals [Giorgini02] • Release the product that satisfice the NFRs • Redo refactoring after functionality changes [Fowler99] Refactoring workshop, WCRE'03

  10. 4. Summary SIG Quality:type [topic] taxonomy 1. Modeling - -- ++ + 6. Evolution Rationale: prioritization (bottleneck), metrics, constraints 2. Satisfiable? 5. Releasing 3. Selection Operationalizations: refactoringsteps + labelpropagation ++ + 4. Refactoring Refactoring workshop, WCRE'03

More Related