Download presentation
Presentation is loading. Please wait.
1
Evaluating the impact of refactorings on internal and external quality indicators
2
2 Problem statement How can we optimally apply refactorings in order to maximize the improvement regarding specific quality attributes? –Which quality attributes? –What is the impact of a refactoring on these quality attributes? –How can we evaluate this impact?
3
3 Selecting quality attributes Pervading methods of organization [Coad&Yourdon90] : –Distinguishing Objects and their attributes Trees and their size –Distinguishing Wholes and their parts Trees and their branches –Distinguishing Classes Trees and Stones Leads to Coupling & Cohesion
4
4 Coupling and cohesion Too coarse-grained Categorization of Briand et. al in 5 coupling and 2 cohesion dimensions –{Import, Export, General, Aggregation, Inheritance} coupling –{Normalized, Non-normalized} cohesion
5
5 Requirements f/a categorization Orthogonal categories Semantically sane (ito design practice) Assumed/known relation to external properties
6
6 Analyzing impacts Express refactoring postconditions and metrics in a uniform formalism Derive the impact of the refactoring on the metric in this formalism Impact is conditionally expressed Use this qualitive feedback to optimize the refactoring process.
7
7 Example of conditional impact Quality attribute spectrum DeteriorationImprovement Tight Class Cohesion as cohesion indicator Applying Move Method can both improve and deteriorate normalized cohesion. Move method with local references Move method without local references
8
8 Using qualitative refactoring feedback From the conditions specified in the refactoring impact, specific guidelines for improvement can be composed. These guidelines should be validated empirically for external quality attributes This allows us to focus on those refactoring opportunities that improve specific quality attributes. Quality attribute spectrum DeteriorationImprovement
9
9 Evaluating impacts For specific maintenance tasks… –Analyze software system to narrow down improvement target –Apply analytically derived guidelines in a controlled environment –Measure known maintenance performance indicators
10
10 Maintenance performance Correctness –Objective evaluation Change points … Execution time
11
11 Aftermath Current assumption: external quality as monotonic function of internal –Where and how to apply refactorings Alternative: polynomial relation –When to apply refactorings. Internal quality attribute value External quality attribute value
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.