Naouel Moha and Yann-Gaël Guéhéneuc
© Moha and Guéhéneuc 2007
This presentation has been given at OOPSLA, the 25th of October 2007, Montreal, Quebec, Canada.
Ptidej Team – OO Programs Quality Evaluation and Enhancement using Patterns
Group of Open, Distributed Systems, Experimental Software Engineering
Department of Informatics and Operations Research
University of Montreal
GEODES
PTIDEJ & DECOR: Identification of
Design Patterns and Design Defects
2/??
Outline
Ptidej in a Nutshell
Examples of Design Patterns and Defects
Demo
– Reverse Engineering of an open-source program
– Identification of Design Motifs
– Identification of Design Defects
Main Characteristics
3/??
Ptidej in a Nutshell
Ptidej: Pattern Trace Identification, Detection,
and Enhancement in Java
Tool suite to develop theories and methods to
evaluate and improve the quality of object-
oriented programs by promoting the use of
idioms, design patterns, and architectural
patterns
– Research
– Education
4/??
Example of a Design Pattern
Composite Motif [GoF 94]
5/??
Example of a Design Defect
Blob (God Class) [Brown 98]
“Procedural-style design leads to
one object with a lion’s share of
the responsibilities while most
other objects only hold data or
execute simple processes”
– Large controller class
– Many fields and methods with a
low cohesion*
– Dependent on the data stored in
associated data classes
*How closely the methods are
related to the instance variables
in the class
6/??
Example of a Design Defect
Spaghetti Code [Brown 98]
“Ad hoc software structure
makes it difficult to extend and
optimize code”
– Procedural thinking in OO
programming
– Lack of structure : no
inheritance, no reuse, no
polymorphism
– Classes with procedural names
– Long methods process oriented
with no parameters and low
cohesion
– Use of class and global variables
for processing
7/??
8/??
9/??
Main Characteristics
Today
– 30 JDT projects
– 200 packages
– 1,150 classes
– 80,000 LOC
Contributions of several master and
Ph.D. students
Used in several publications, see
www.ptidej.net/publications
10/??
Main Characteristics
PADL Meta-model
– Pattern and Abstract-
level Description
Language
– Meta-model to
describe object-
oriented software
systems and
patterns
11/??
Main Characteristics
PADL meta-model
– Composite
– Observer
– Visitor
– (Singleton)
Ptidej framework
– Observer
– Builder
– Template Method
– Abstract Factory
– (Singleton)
See Yann-Gaël Guéhéneuc ; Ptidej: Promoting
Patterns with Patterns ; BSUP, in 2005
12/??
Main Characteristics
Reflection
– Meta-model constituents
– Design motifs, design defects
– PADL analyses
– Ptidej UI analyses
– Ptidej Viewer extensions
13/??
Main Characteristics
Some hot spots
– IFactory to add new constituents
– IBuilder to draw graphic representations
– IPADLAnalysis to add new PADL analyses
– IDesignMotif to add new design motifs
– IPtidejAnalysis to add new Ptidej analyses
– IExtension to extend the UI
– IWindow to add new window in the UI
14/??
Thanks for your Attention…
… Ready for a live demo!
mohanaou@iro.umontreal.ca
guehene@iro.umontreal.ca
www.ptidej.net

More Related Content

PDF
Ase07 tooldemo.ppt
PDF
130924 yann-gael gueheneuc - an overview of software code quality and conne...
PDF
Cascon06 tooldemo.ppt
PDF
Ase07 tooldemo.ppt
PDF
Icsm07 tooldemo.ppt
PDF
Icsm07 tooldemo.pdf
PDF
Ecoop05 bsup.ppt
PDF
Wbt07 tooldemo.ppt
Ase07 tooldemo.ppt
130924 yann-gael gueheneuc - an overview of software code quality and conne...
Cascon06 tooldemo.ppt
Ase07 tooldemo.ppt
Icsm07 tooldemo.ppt
Icsm07 tooldemo.pdf
Ecoop05 bsup.ppt
Wbt07 tooldemo.ppt

Similar to Oopsla07 tooldemo.ppt (20)

PPTX
Unit No 6 Design Patterns.pptx
PDF
130607 yann-gael gueheneuc - ptidej tool suite
PDF
Toolsusa01.ppt
PDF
ECOOP05 BSUP.ppt
PDF
010821+presentation+oti.ppt
PPTX
Design Patterns: Back to Basics
PDF
Object oriented design knowledge principles heuristics and best practices Jav...
PDF
Object oriented design knowledge principles heuristics and best practices Jav...
PDF
Designing patterns in java Advantages and disadvantagesSolution.pdf
DOCX
Unit iii design patterns 9
PDF
CSMR08.ppt
PPT
Experiments on Design Pattern Discovery
PDF
(E book pdf) thinking in patterns with java
PDF
WBT07.ppt
PDF
A Pattern Mining Approach for Identifying Identical Design Structures in Obje...
PDF
Object oriented design knowledge principles heuristics and best practices Jav...
PDF
A Survey on Design Pattern Detection Approaches
PDF
Oop principles a good book
PDF
Ase02 dmp.ppt
Unit No 6 Design Patterns.pptx
130607 yann-gael gueheneuc - ptidej tool suite
Toolsusa01.ppt
ECOOP05 BSUP.ppt
010821+presentation+oti.ppt
Design Patterns: Back to Basics
Object oriented design knowledge principles heuristics and best practices Jav...
Object oriented design knowledge principles heuristics and best practices Jav...
Designing patterns in java Advantages and disadvantagesSolution.pdf
Unit iii design patterns 9
CSMR08.ppt
Experiments on Design Pattern Discovery
(E book pdf) thinking in patterns with java
WBT07.ppt
A Pattern Mining Approach for Identifying Identical Design Structures in Obje...
Object oriented design knowledge principles heuristics and best practices Jav...
A Survey on Design Pattern Detection Approaches
Oop principles a good book
Ase02 dmp.ppt
Ad

More from Yann-Gaël Guéhéneuc (20)

PDF
Rights, Copyrights, and Licences for Software Engineering Research v1.0
PDF
Evolution and Examples of Java Features, from Java 1.7 to Java 24
PDF
Projects Panama, Valhalla, and Babylon: Java is the New Python v0.9
PDF
Consequences and Principles of Software Quality v1.0
PDF
About Empirical Studies on Software Quality
PDF
A (Very) Brief History of Ethics for Software Engineering Research
PDF
Project Manifold (Forwarding and Delegation)
PDF
Reviewing Processes and Tools, Publishers, Open Access
PDF
Custom Annotations in Java with Project Lombok
PDF
Some Pitfalls with Python and Their Possible Solutions v1.0
PDF
Advice for writing a NSERC Discovery grant application v0.5
PDF
Ptidej Architecture, Design, and Implementation in Action v2.1
PDF
Evolution and Examples of Java Features, from Java 1.7 to Java 22
PDF
Consequences and Principles of Software Quality v0.3
PDF
Some Pitfalls with Python and Their Possible Solutions v0.9
PDF
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
PDF
An Explanation of the Halting Problem and Its Consequences
PDF
Are CPUs VMs Like Any Others? v1.0
PDF
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
PDF
Well-known Computer Scientists v1.0.2
Rights, Copyrights, and Licences for Software Engineering Research v1.0
Evolution and Examples of Java Features, from Java 1.7 to Java 24
Projects Panama, Valhalla, and Babylon: Java is the New Python v0.9
Consequences and Principles of Software Quality v1.0
About Empirical Studies on Software Quality
A (Very) Brief History of Ethics for Software Engineering Research
Project Manifold (Forwarding and Delegation)
Reviewing Processes and Tools, Publishers, Open Access
Custom Annotations in Java with Project Lombok
Some Pitfalls with Python and Their Possible Solutions v1.0
Advice for writing a NSERC Discovery grant application v0.5
Ptidej Architecture, Design, and Implementation in Action v2.1
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Consequences and Principles of Software Quality v0.3
Some Pitfalls with Python and Their Possible Solutions v0.9
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Halting Problem and Its Consequences
Are CPUs VMs Like Any Others? v1.0
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Well-known Computer Scientists v1.0.2
Ad

Recently uploaded (20)

PDF
Website Design Services for Small Businesses.pdf
PDF
Microsoft Office 365 Crack Download Free
PDF
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
PDF
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
PDF
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PPTX
Computer Software and OS of computer science of grade 11.pptx
PDF
Types of Token_ From Utility to Security.pdf
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PDF
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
PDF
Wondershare Recoverit Full Crack New Version (Latest 2025)
PPTX
Patient Appointment Booking in Odoo with online payment
PDF
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
PDF
iTop VPN Crack Latest Version Full Key 2025
PPTX
Cybersecurity: Protecting the Digital World
PDF
Autodesk AutoCAD Crack Free Download 2025
PDF
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
PPTX
Computer Software - Technology and Livelihood Education
Website Design Services for Small Businesses.pdf
Microsoft Office 365 Crack Download Free
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
Oracle Fusion HCM Cloud Demo for Beginners
Computer Software and OS of computer science of grade 11.pptx
Types of Token_ From Utility to Security.pdf
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
Wondershare Recoverit Full Crack New Version (Latest 2025)
Patient Appointment Booking in Odoo with online payment
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
Designing Intelligence for the Shop Floor.pdf
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
iTop VPN Crack Latest Version Full Key 2025
Cybersecurity: Protecting the Digital World
Autodesk AutoCAD Crack Free Download 2025
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
Computer Software - Technology and Livelihood Education

Oopsla07 tooldemo.ppt

  • 1. Naouel Moha and Yann-Gaël Guéhéneuc © Moha and Guéhéneuc 2007 This presentation has been given at OOPSLA, the 25th of October 2007, Montreal, Quebec, Canada. Ptidej Team – OO Programs Quality Evaluation and Enhancement using Patterns Group of Open, Distributed Systems, Experimental Software Engineering Department of Informatics and Operations Research University of Montreal GEODES PTIDEJ & DECOR: Identification of Design Patterns and Design Defects
  • 2. 2/?? Outline Ptidej in a Nutshell Examples of Design Patterns and Defects Demo – Reverse Engineering of an open-source program – Identification of Design Motifs – Identification of Design Defects Main Characteristics
  • 3. 3/?? Ptidej in a Nutshell Ptidej: Pattern Trace Identification, Detection, and Enhancement in Java Tool suite to develop theories and methods to evaluate and improve the quality of object- oriented programs by promoting the use of idioms, design patterns, and architectural patterns – Research – Education
  • 4. 4/?? Example of a Design Pattern Composite Motif [GoF 94]
  • 5. 5/?? Example of a Design Defect Blob (God Class) [Brown 98] “Procedural-style design leads to one object with a lion’s share of the responsibilities while most other objects only hold data or execute simple processes” – Large controller class – Many fields and methods with a low cohesion* – Dependent on the data stored in associated data classes *How closely the methods are related to the instance variables in the class
  • 6. 6/?? Example of a Design Defect Spaghetti Code [Brown 98] “Ad hoc software structure makes it difficult to extend and optimize code” – Procedural thinking in OO programming – Lack of structure : no inheritance, no reuse, no polymorphism – Classes with procedural names – Long methods process oriented with no parameters and low cohesion – Use of class and global variables for processing
  • 9. 9/?? Main Characteristics Today – 30 JDT projects – 200 packages – 1,150 classes – 80,000 LOC Contributions of several master and Ph.D. students Used in several publications, see www.ptidej.net/publications
  • 10. 10/?? Main Characteristics PADL Meta-model – Pattern and Abstract- level Description Language – Meta-model to describe object- oriented software systems and patterns
  • 11. 11/?? Main Characteristics PADL meta-model – Composite – Observer – Visitor – (Singleton) Ptidej framework – Observer – Builder – Template Method – Abstract Factory – (Singleton) See Yann-Gaël Guéhéneuc ; Ptidej: Promoting Patterns with Patterns ; BSUP, in 2005
  • 12. 12/?? Main Characteristics Reflection – Meta-model constituents – Design motifs, design defects – PADL analyses – Ptidej UI analyses – Ptidej Viewer extensions
  • 13. 13/?? Main Characteristics Some hot spots – IFactory to add new constituents – IBuilder to draw graphic representations – IPADLAnalysis to add new PADL analyses – IDesignMotif to add new design motifs – IPtidejAnalysis to add new Ptidej analyses – IExtension to extend the UI – IWindow to add new window in the UI
  • 14. 14/?? Thanks for your Attention… … Ready for a live demo! mohanaou@iro.umontreal.ca guehene@iro.umontreal.ca www.ptidej.net