SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Ptidej: A Flexible Reverse
Engineering Tool Suite
Yann-Gaël Guéhéneuc
ICSM
Paris, France
2/10/07
GEODES 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

© Guéhéneuc 2007
Outline
 Ptidej

in a Nutshell
 Brief History
 Main Characteristics
 Demo
– Reverse Engineering of JHD v5.1
– Identification of Design Motifs, Defects
– Model Transformations and External Tools
2/16

 Thoughts

for Discussions
Ptidej in a Nutshell




3/16

Ptidej: Pattern Trace Identification, Detection,
and Enhancement in Java
Tool suite to develop theories and methods to
evaluate and improve the quality of objectoriented programs by promoting the use of
idioms, design patterns, and architectural
patterns
– Research
– Education
Brief History


1999: Birth



– Hervé Albin-Amiot creates DPL
(Design Pattern Language), a
meta-model for design motifs


– Creation of the Ptidej Team to
develop and enhance the tool
suite at University of Montreal
– Parser for AOL
– Parser for AspectJ
– Parser for a subset of C++
– DSL for design defects
specification and identification
– Identification of micro-patterns

2001–2003: Childhood
– DPL becomes PADL to describe
programs and motifs
• Parser for Java

– Caffeine is developed to analyse
dynamically Java programs
– Explanation-based constraint
programming to identify motifs
– Visualisation of systems, motifs,
occurrences

4/16

2003–2007: Teenage days



2008: ?
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
5/16

www.ptidej.net/publications
Main Characteristics


PADL meta-model
–
–
–
–



6/16

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
Main Characteristics
 Reflection

– Meta-model constituents
– Design motifs, design defects
– PADL analyses
– Ptidej UI analyses
– Ptidej Viewer extensions

7/16
Main Characteristics
 Some

hot spots

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

– IFactory
–
–
–
–
–
–
8/16
Demo
Reverse Engineering
A

.ptidej file lists a set of file to be
parsed and their languages
[Ptidej Project]
Name = DPL - JHotDraw v5.1
JavaCode = ../../../DPL - JHotDraw
v5.1/bin/CH/ifa/draw/applet/;../../../DPL - JHotDraw
v5.1/bin/CH/ifa/draw/application/;../../../DPL - JHotDraw
v5.1/bin/CH/ifa/draw/contrib/;../../../DPL - JHotDraw
v5.1/bin/CH/ifa/draw/figures/;../../../DPL - JHotDraw
v5.1/bin/CH/ifa/draw/framework/;../../../DPL - JHotDraw
v5.1/bin/CH/ifa/draw/samples/javadraw/;../../../DPL - JHotDraw
v5.1/bin/CH/ifa/draw/samples/net/;../../../DPL - JHotDraw
v5.1/bin/CH/ifa/draw/samples/nothing/;../../../DPL - JHotDraw
v5.1/bin/CH/ifa/draw/samples/pert/;../../../DPL - JHotDraw
v5.1/bin/CH/ifa/draw/standard/;../../../DPL - JHotDraw
v5.1/bin/CH/ifa/draw/util/

9/16
Demo
Reverse Engineering


PADL Meta-model
– Pattern and Abstractlevel Description
Language
– Meta-mode to
describe objectoriented software
systems and
patterns

10/16
Demo
Reverse Engineering

11/16
Demo
Identification of Design Motifs, Defects
 Design

motifs

– PADL meta-model
– Solutions of design patterns
– Explanation-based constraint programming
 Design

12/16

defects

– DSL language
– Structural relationships, structural and
lexical properties, metric values
– Template-based code generation
Demo
Identification of Design Motifs, Defects

13/16

Composite Design Motif
Demo
Identification of Design Motifs, Defects

14/16

Swiss Army Knife
Demo
Model Transformations and External Tools

15/16

Dotty
Thoughts for Discussions
 More

information at www.ptidej.net

 Language

independence

– See WOOR’06 and ’07 workshop reports
 Framework

independence
 Framework documentation

16/16

– API
– Hot spots
– Design patterns and defects

Weitere ähnliche Inhalte

Andere mochten auch (12)

Wcre12c.ppt
Wcre12c.pptWcre12c.ppt
Wcre12c.ppt
 
Wcre13a.ppt
Wcre13a.pptWcre13a.ppt
Wcre13a.ppt
 
Ppap13b.ppt
Ppap13b.pptPpap13b.ppt
Ppap13b.ppt
 
Wcre13b.ppt
Wcre13b.pptWcre13b.ppt
Wcre13b.ppt
 
Rsse12.ppt
Rsse12.pptRsse12.ppt
Rsse12.ppt
 
Wcre13c.pdf
Wcre13c.pdfWcre13c.pdf
Wcre13c.pdf
 
Ssbse12b.ppt
Ssbse12b.pptSsbse12b.ppt
Ssbse12b.ppt
 
Ssbse12a.ppt
Ssbse12a.pptSsbse12a.ppt
Ssbse12a.ppt
 
Icsoc12 tooldemo.ppt
Icsoc12 tooldemo.pptIcsoc12 tooldemo.ppt
Icsoc12 tooldemo.ppt
 
See12.ppt
See12.pptSee12.ppt
See12.ppt
 
Wcre12b.ppt
Wcre12b.pptWcre12b.ppt
Wcre12b.ppt
 
Jcom02.ppt
Jcom02.pptJcom02.ppt
Jcom02.ppt
 

Ähnlich wie Icsm07 tooldemo.pdf

ECOOP05 BSUP.ppt
ECOOP05 BSUP.pptECOOP05 BSUP.ppt
ECOOP05 BSUP.ppt
Ptidej Team
 
Il product development - 20 01 2011
Il  product development - 20 01 2011Il  product development - 20 01 2011
Il product development - 20 01 2011
nakham
 
ECOOP05 WOORa.ppt
ECOOP05 WOORa.pptECOOP05 WOORa.ppt
ECOOP05 WOORa.ppt
Ptidej Team
 

Ähnlich wie Icsm07 tooldemo.pdf (20)

Icsm07 tooldemo.ppt
Icsm07 tooldemo.pptIcsm07 tooldemo.ppt
Icsm07 tooldemo.ppt
 
Oopsla07 tooldemo.ppt
Oopsla07 tooldemo.pptOopsla07 tooldemo.ppt
Oopsla07 tooldemo.ppt
 
Ecoop05 bsup.ppt
Ecoop05 bsup.pptEcoop05 bsup.ppt
Ecoop05 bsup.ppt
 
Cascon05 tooldemo.ppt
Cascon05 tooldemo.pptCascon05 tooldemo.ppt
Cascon05 tooldemo.ppt
 
ECOOP05 BSUP.ppt
ECOOP05 BSUP.pptECOOP05 BSUP.ppt
ECOOP05 BSUP.ppt
 
Ecoop05 woo ra.ppt
Ecoop05 woo ra.pptEcoop05 woo ra.ppt
Ecoop05 woo ra.ppt
 
Il product development - 20 01 2011
Il  product development - 20 01 2011Il  product development - 20 01 2011
Il product development - 20 01 2011
 
Software Development for Processionals.ppt
Software Development for Processionals.pptSoftware Development for Processionals.ppt
Software Development for Processionals.ppt
 
Primers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code ReviewPrimers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code Review
 
Eosp summer 2011
Eosp summer 2011Eosp summer 2011
Eosp summer 2011
 
OCCIware - A Formal Toolchain for Managing Everything-as-a-Service
OCCIware - A Formal Toolchain for Managing Everything-as-a-ServiceOCCIware - A Formal Toolchain for Managing Everything-as-a-Service
OCCIware - A Formal Toolchain for Managing Everything-as-a-Service
 
Evolution of design systems at GE
Evolution of design systems at GEEvolution of design systems at GE
Evolution of design systems at GE
 
ECOOP05 WOORa.ppt
ECOOP05 WOORa.pptECOOP05 WOORa.ppt
ECOOP05 WOORa.ppt
 
SpagoBI_CLLAP2009
SpagoBI_CLLAP2009SpagoBI_CLLAP2009
SpagoBI_CLLAP2009
 
Lightweight Model-Driven Engineering
Lightweight Model-Driven EngineeringLightweight Model-Driven Engineering
Lightweight Model-Driven Engineering
 
Developing a gui based design software in
Developing a gui based design software inDeveloping a gui based design software in
Developing a gui based design software in
 
Valcon Design Robustness Program 2013
Valcon Design Robustness Program 2013Valcon Design Robustness Program 2013
Valcon Design Robustness Program 2013
 
Resume
ResumeResume
Resume
 
MTech- Viva_Voce
MTech- Viva_VoceMTech- Viva_Voce
MTech- Viva_Voce
 
Project Guidance and Project flow for UG & PG candidates
Project Guidance and Project flow for UG & PG candidatesProject Guidance and Project flow for UG & PG candidates
Project Guidance and Project flow for UG & PG candidates
 

Mehr von Ptidej Team

Mehr von Ptidej Team (20)

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
 
MIPA
MIPAMIPA
MIPA
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Kürzlich hochgeladen (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Icsm07 tooldemo.pdf

  • 1. Ptidej: A Flexible Reverse Engineering Tool Suite Yann-Gaël Guéhéneuc ICSM Paris, France 2/10/07 GEODES 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 © Guéhéneuc 2007
  • 2. Outline  Ptidej in a Nutshell  Brief History  Main Characteristics  Demo – Reverse Engineering of JHD v5.1 – Identification of Design Motifs, Defects – Model Transformations and External Tools 2/16  Thoughts for Discussions
  • 3. Ptidej in a Nutshell   3/16 Ptidej: Pattern Trace Identification, Detection, and Enhancement in Java Tool suite to develop theories and methods to evaluate and improve the quality of objectoriented programs by promoting the use of idioms, design patterns, and architectural patterns – Research – Education
  • 4. Brief History  1999: Birth  – Hervé Albin-Amiot creates DPL (Design Pattern Language), a meta-model for design motifs  – Creation of the Ptidej Team to develop and enhance the tool suite at University of Montreal – Parser for AOL – Parser for AspectJ – Parser for a subset of C++ – DSL for design defects specification and identification – Identification of micro-patterns 2001–2003: Childhood – DPL becomes PADL to describe programs and motifs • Parser for Java – Caffeine is developed to analyse dynamically Java programs – Explanation-based constraint programming to identify motifs – Visualisation of systems, motifs, occurrences 4/16 2003–2007: Teenage days  2008: ?
  • 5. 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 5/16 www.ptidej.net/publications
  • 6. Main Characteristics  PADL meta-model – – – –  6/16 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
  • 7. Main Characteristics  Reflection – Meta-model constituents – Design motifs, design defects – PADL analyses – Ptidej UI analyses – Ptidej Viewer extensions 7/16
  • 8. Main Characteristics  Some hot spots 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 – IFactory – – – – – – 8/16
  • 9. Demo Reverse Engineering A .ptidej file lists a set of file to be parsed and their languages [Ptidej Project] Name = DPL - JHotDraw v5.1 JavaCode = ../../../DPL - JHotDraw v5.1/bin/CH/ifa/draw/applet/;../../../DPL - JHotDraw v5.1/bin/CH/ifa/draw/application/;../../../DPL - JHotDraw v5.1/bin/CH/ifa/draw/contrib/;../../../DPL - JHotDraw v5.1/bin/CH/ifa/draw/figures/;../../../DPL - JHotDraw v5.1/bin/CH/ifa/draw/framework/;../../../DPL - JHotDraw v5.1/bin/CH/ifa/draw/samples/javadraw/;../../../DPL - JHotDraw v5.1/bin/CH/ifa/draw/samples/net/;../../../DPL - JHotDraw v5.1/bin/CH/ifa/draw/samples/nothing/;../../../DPL - JHotDraw v5.1/bin/CH/ifa/draw/samples/pert/;../../../DPL - JHotDraw v5.1/bin/CH/ifa/draw/standard/;../../../DPL - JHotDraw v5.1/bin/CH/ifa/draw/util/ 9/16
  • 10. Demo Reverse Engineering  PADL Meta-model – Pattern and Abstractlevel Description Language – Meta-mode to describe objectoriented software systems and patterns 10/16
  • 12. Demo Identification of Design Motifs, Defects  Design motifs – PADL meta-model – Solutions of design patterns – Explanation-based constraint programming  Design 12/16 defects – DSL language – Structural relationships, structural and lexical properties, metric values – Template-based code generation
  • 13. Demo Identification of Design Motifs, Defects 13/16 Composite Design Motif
  • 14. Demo Identification of Design Motifs, Defects 14/16 Swiss Army Knife
  • 15. Demo Model Transformations and External Tools 15/16 Dotty
  • 16. Thoughts for Discussions  More information at www.ptidej.net  Language independence – See WOOR’06 and ’07 workshop reports  Framework independence  Framework documentation 16/16 – API – Hot spots – Design patterns and defects