Icsm07 tooldemo.pdf
Upcoming SlideShare
Loading in...5
×
 

Icsm07 tooldemo.pdf

on

  • 171 views

Reverse-engineering, design patterns, anti-patterns, flexibility

Reverse-engineering, design patterns, anti-patterns, flexibility

Statistics

Views

Total Views
171
Views on SlideShare
149
Embed Views
22

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 22

http://www.ptidej.net 21
http://ptidej.net 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Icsm07 tooldemo.pdf Icsm07 tooldemo.pdf Presentation Transcript

  • 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