Download presentation
Presentation is loading. Please wait.
Published bySylvia Watkins Modified over 9 years ago
1
Refactoring workshop, WCRE'03 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
2
Refactoring workshop, WCRE'03 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
3
Refactoring workshop, WCRE'03 Experiment results Rationale in action >
4
Refactoring workshop, WCRE'03 soft-goal: Type [Topic]
5
Refactoring workshop, WCRE'03 Topic taxonomy Type taxonomy Decomposition method TYPE [TOPIC] TYPE [SUBTOPIC] TYPE [TOPIC] SUBTYPE [TOPIC] operationalization OPERATION- ALIZED SOFTGOAL Contribution interdependency
6
Refactoring workshop, WCRE'03 Label propagations verify the choices
7
Refactoring workshop, WCRE'03 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
8
Refactoring workshop, WCRE'03 2. Header project: functionality and quality refactoring shift focus along evolution
9
Refactoring workshop, WCRE'03 3. The goal-driven refactoring process … 1. Modelling non-functional qualities as soft-goals [Mylopoulos92] 2. Are they met? Decomposing soft-goals into interdependency graph [Chung94] 3. Catalogue the refactoring steps as operationalized soft-goals and make selections [c.f. Tahvildari01, Zou02] 4. Apply the refactoring steps and propagate the labels up to re-assess the soft-goals [Giorgini02] 5. Release the product that satisfice the NFRs 6. Redo refactoring after functionality changes [Fowler99]
10
Refactoring workshop, WCRE'03 4. Summary 1. Modeling 2. Satisfiable? 3. Selection 4. Refactoring 5. Releasing Quality: type [topic] taxonomy Rationale: prioritization (bottleneck), metrics, constraints Operationalizations: refactoring steps + label propagation ++ + --- ++ + 6. Evolution SIG
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.