Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Towards an Automatic Approach for Quality.

Similar presentations


Presentation on theme: "1 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Towards an Automatic Approach for Quality."— Presentation transcript:

1 1 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Towards an Automatic Approach for Quality Improvement in Object-Oriented Design Dr. Radu Marinescu

2 2 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Problem Statement  Numerous large-scale OO systems with signs of "rotting design"  monolithic, inflexible, fragile, etc.  Discarding these systems is not an option !  high business value and large scale  reuse and maintenance necessary  Design Flaws – an invariant issue in software  time pressure during development  permanent change of requirements How to correlate external signs of poor quality and the occurrence of concrete structural design flaws?

3 3 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Research Goal Develop methods, techniques and tools that provide a proper mapping between external quality attributes and the internal, structural characteristics of object-oriented design. Central focus is to support the process of quality assessment and improvement for existing object-oriented systems

4 4 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Design Flaws...  Exclusive Focus on Structural Flaws  Design Fragments  i.e. methods, classes, modules (subsystems)  Need criteria for high-quality design  design rules, principles and heuristics etc.  also negative rules (e.g. "bad-smells") … are structural characteristics of design fragments that express deviations from a given set of criteria typifying a high-quality design.

5 5 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Detection of Design Problems Problem Detection  The process of identifying the parts of a software system affected by a particular design flaw  It‘s not easy!  manual and empirical  time-expensive and non-scalable  hard to quantify design rules and principles.... "Measuring" the Design  map source-code entities to numerical values  used as quality indicators Idea: Use metrics to detect design problems!

6 6 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Problems with Software Measurement Definitions of Metrics Mapping attributes of a software product to numeric values [Fent97] Imprecise, confusing, or conflicting definitions Interpretation Models Interpretation level is too fine-grained to lead to design decisions metrics values are like symptoms indicate an abnormality, but can’t indicate the cause reduces the relevance of measurement results There is a large gap between what we do measure and what we should measure! Define mechanism for higher-level interpretation of metrics!

7 7 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 The measurable expression of a rule, by which design fragments that are conformant to the rule can be identified in the source-code Detection Strategy  Generic mean for defining metrics-based design rules  use metrics together!  Based on mechanisms of filtering and composition

8 8 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003  Metrics  measure internal characteristics  entity  value pairs  Composition Operators  articulate the composition of a detection rule  i.e. compose metrics in a rule  Three operators used: and, or, butnotin  Filtering Mechanism  statistical functions that return a subset of a data-set  Semantical Filters (e.g. HigherThan or BottomValues )  Statistical Filters (e.g. BoxPlots ) Anatomy of a Detection Strategy

9 9 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Quantified Design Flaws  Around 20 design flaws quantified as DS  Different abstraction levels  method to omission of patterns  Different literature sources  Relevant design flaws

10 10 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Sources (Java, C++) Meta-Model parsing using Metrics Detection Strategy (*.sod) Definitions of Statistical Outliers 1.. n 1.. m executing with PRODEOOS List of Candidates manual inspection Process of Design Inspection

11 11 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 The Unified Meta-Model  Design information needed in the DS  i.e used by the metrics  Declarations  classes, variables and methods  Inheritance relations  Cross-referencing information  Variable accesses  Method invocations  Contains information about packages  for C++ the directory structure  neccessary for the strategies at the subsystem level  For Java and C++  TableGen and MeMoJ-Tables

12 12 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 What did we gain so far …  Detection Strategy proper mechanism for higher-level interpretation of measurements  Methodology for quantifying design-related rules  Quantified violations of design principles, rules and heuristics around 20 strategies for design flaws  from several literature sources different abstraction levels  from method to subsystem level Build bridge between quality attributes and design problems Prove that the approach is scalable and accurate … and what is left?

13 13 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Design principles and rules are implicit  Hard to construct A Classical Quality Model  Metrics are too fine-grained  Hard to interpret

14 14 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Factor-Strategy Quality Model Lack of Bridge Data Classes God Classes Int.Seg Principle WMC TCC CIW NOAM AUF NOPA COC AOFD NOD LR Principles, rules, heuristics quantified in Detection Strategies Quality decomposed in Factors communicates with

15 15 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 The Case-Study  A Re-engineered Case-Study  two versions of the an industrial business application  second version re-engineered for maintainability purposes  Relevance of the Case-Study  Size (~100KLOC)  proper to evaluate scalability of approach  Before-After reengineering scenario  evaluate accuracy of DS  Clear reengineering goal  evaluate relevance of FS models  Size Characteristics

16 16 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Automatic Evaluation Method Assumption 1  All major design problems in SV1 were eliminated during the reengineering process  not present in SV2 Assumption 2  Maintainability level in SV2 is higher (better) than in SV1

17 17 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Automatic Evaluation of Strategies — Results  Accuracy Rate: between 50% and 81%  Average Accuracy Rate: 64.5 %  Average Number of Suspects: ~ 15% of entities reported suspect

18 18 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Evaluation of FS Quality Model  Defined a Factor-Strategy quality model for maintainabilitymaintainability  Evaluation mechanisms  Score = nr. of suspects  Qualifier = “grade”  1-10 scale  based on Score  Compared results between the two versions  based on Assumption 2  expected improvement in SV2

19 19 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Why is the FS Model Better ?  See the problems not the numbers! problems expressed in terms of design rules that are violated interpretation is much easier  Easier to improve the quality of the design understand the causes of problems easier to correlate with “correction strategies”

20 20 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Summary  A mechanism for quantifying design-related rules the “Detection Strategy” concept  Suite of detection strategies for finding design flaws quantification of well-known design flaws and…”smells”  Described a novel concept of quality model based on detection strategies the bridge between qualitative and quantitative statements  Strong tool support for the entire approach high degree of automatization and scalability  Concrete evaluation of the concepts, methods, techniques

21 21 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003  Refinement  The issue of threshold values [Diploma Thesis in progress]  define a tuning-machine  Unify means of expression [Master Thesis in progress]  SAIL language  Applicability  Bridge the gap between automated problem detection and problem correction [PhD in progress]  Integrate techniques in the development process  Migration  Adapt the approach to emerging technologies (e.g. EJB)  …and programming paradigms (e.g. AOP)  Refinement  Applicability  Migration Perspectives

22 22 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Thank you!


Download ppt "1 Towards an Automated Approach for Quality Improvement in OO Design Dr. Radu Marinescu Timişoara, 12.02.2003 Towards an Automatic Approach for Quality."

Similar presentations


Ads by Google