Presentation is loading. Please wait.

Presentation is loading. Please wait.

Evaluating the impact of refactorings on internal and external quality indicators.

Similar presentations


Presentation on theme: "Evaluating the impact of refactorings on internal and external quality indicators."— Presentation transcript:

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


Download ppt "Evaluating the impact of refactorings on internal and external quality indicators."

Similar presentations


Ads by Google