0
Using Design Patterns and Constraints toAutomate the Detection and Correction     of Inter-class Design Defects       Yann...
Design patterns       Constraints                   Inter-class                                   design defects          ...
Summary       n An overview of software quality       n A classification of design defects       n On inter-class design d...
An overview of software quality       n Viewpoints         – ISO/IEC 9126           • Functionality, reliability, usabilit...
A classification of design defects       n Intra-class   / Inter-class / Behavioral                                     Nu...
On inter-class design defects 1/2       n Design   patterns         – [Gamma et al. 1994]           • Quality architectura...
On inter-class design defects 2/2       n Wanted   software quality characteristics         – Flexibility         – Unders...
Design pattern modeling                     1/3       n Meta-model         – Describe the entities and elements in        ...
ic       A Bas xample : Meta-model 2/3            E9/25
ic        A Bas xample : Composite                                  3/3             E         Informal descriptions       ...
Design pattern detection                        1/4        n Design   pattern abstract model          – Detection rules, i...
ic         A Bas xample : Composite                                                                      2/4              ...
Design pattern detection                     3/4        n Distorted   concrete models          – The design pattern       ...
Design pattern detection                      4/4        n Explanation-based                          Constraint         P...
Inter-class design defects           1/5        n The   Ptidej tool          – Hypotheses          – Design pattern abstra...
ic        A Bas xample : Ptidej   2/5             E16/25
ic        A Bas xample : Ptidej   3/5             E17/25
ic        A Bas xample : Ptidej   4/5             E18/25
ic        A Bas xample : Ptidej   5/5             E19/25
Case studies                              1/4        n Several   applications being reviewed          – Small test-cases  ...
Case studies   2/421/25
Case studies   3/422/25
Case studies   4/423/25
Conclusion and future work        n Design   patterns + Constraints +                         Inter-class design defects  ...
Thank you for your attention                                    Questions?                                    Comments?   ...
Upcoming SlideShare
Loading in...5
×

TOOLS USA01.ppt

93

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
93
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "TOOLS USA01.ppt"

  1. 1. Using Design Patterns and Constraints toAutomate the Detection and Correction of Inter-class Design Defects Yann-Gaël Guéhéneuc (guehene@emn.fr) Hervé Albin-Amiot (albin@emn.fr) École des Mines de Nantes, France Object Technology Soft-Maint S.A., France International Inc., Canada
  2. 2. Design patterns Constraints Inter-class design defects The Ptidej tool To assess / to increase software2/25 flexibility and understandability
  3. 3. Summary n An overview of software quality n A classification of design defects n On inter-class design defects n Design pattern modeling n Design defects detection n Design defects correction n Case studies n Conclusion and future work3/25
  4. 4. An overview of software quality n Viewpoints – ISO/IEC 9126 • Functionality, reliability, usability, efficiency, maintainability, portability – ISO/IEC 14598 – Coupling, cohesion, method replacement… n Maintenance = 75% n Design defects4/25
  5. 5. A classification of design defects n Intra-class / Inter-class / Behavioral Number: 39/61 (64%) Detection–correction: 25% Number: 13/61 (21%)5/25 Detection–correction: 8%
  6. 6. On inter-class design defects 1/2 n Design patterns – [Gamma et al. 1994] • Quality architectural solutions • Language independent – General Smalltalk- or C++-level • Domain independent • Flexibility, understandability – Other authors6/25
  7. 7. On inter-class design defects 2/2 n Wanted software quality characteristics – Flexibility – Understandability n Hypotheses – Groups of entities similar to a design pattern = Inter-class design defects – Making these groups of entities closer to a design pattern = Improving architectural7/25 quality (flexibility and understandability)
  8. 8. Design pattern modeling 1/3 n Meta-model – Describe the entities and elements in design pattern abstract models n Abstract model – Describe a design pattern in term of roles n Concrete model – Link an abstract model to real code8/25
  9. 9. ic A Bas xample : Meta-model 2/3 E9/25
  10. 10. ic A Bas xample : Composite 3/3 E Informal descriptions from [Gamma et al.] Instance of class Pattern Translates into Instance of class PInterface Instance of class PClass Instance of class PAssoc Instance of class PDelegation name() Instance of class PMethod Pattern, PInterface, PClass, PAssoc,10/25 PDelegation, and PMethod are classes defined in our meta-model
  11. 11. Design pattern detection 1/4 n Design pattern abstract model – Detection rules, i.e., constraints • Roles as variables • Relationships as constraints among variables n CSP – Source code for domain – Abstract model for variables, constraints11/25
  12. 12. ic A Bas xample : Composite 2/4 E Source code 1 Composite pattern abstract model Source code n CSP CSP Distorted concrete models12/25 Composite pattern concrete model 1 Composite pattern concrete model n
  13. 13. Design pattern detection 3/4 n Distorted concrete models – The design pattern – Not quite • Some constraints are not verified n Back to our hypotheses – Groups of entities similar to a design pattern13/25
  14. 14. Design pattern detection 4/4 n Explanation-based Constraint Programming [Jussien] – Set of constraints justifying an action performed by the PaLM solver • Value removal • Contradiction – Strong interactivity with the user through dynamic removal / addition of constraints14/25
  15. 15. Inter-class design defects 1/5 n The Ptidej tool – Hypotheses – Design pattern abstract models – Design pattern concrete models – Inter-class design defects • Detection • Correction15/25
  16. 16. ic A Bas xample : Ptidej 2/5 E16/25
  17. 17. ic A Bas xample : Ptidej 3/5 E17/25
  18. 18. ic A Bas xample : Ptidej 4/5 E18/25
  19. 19. ic A Bas xample : Ptidej 5/5 E19/25
  20. 20. Case studies 1/4 n Several applications being reviewed – Small test-cases – HotJava v3.0 (~90 classes) – JEdit v3.1 (~250 classes) – JHotDraw v5.1 (~155 classes) – JUnit v3.2 (~90 classes)20/25
  21. 21. Case studies 2/421/25
  22. 22. Case studies 3/422/25
  23. 23. Case studies 4/423/25
  24. 24. Conclusion and future work n Design patterns + Constraints + Inter-class design defects – To assess / to increase software flexibility and understandability n Semantics, scalability, software quality characteristics, automation, interaction, weights, noise, hybrid24/25
  25. 25. Thank you for your attention Questions? Comments? École des Mines de Nantes Yann-Gaël Guéhéneuc (guehene@emn.fr) Object Technology International Inc.25/25 Hervé Albin-Amiot (albin@emn.fr) Soft-Maint S.A.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×