SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
A Comparative Framework for
    Design Recovery Tools


   Yann-Gaël Guéhéneuc, Kim Mens, and Roel Wuyts
                                        CSMR 2006
                                         Bari, Italy


GEODES
         Department of Informatics   Département d'ingénierie
                                                                        Département d'informatique
         and Operations Research     informatique
                                                                        Université Libre de Bruxelles
         University of Montreal      Université catholique de Louvain
Teaser

        You need to recover the design of a
        large, complex legacy-system...
        Wouldn’t it be nice if
        – You would have a catalogue of available
          design recovery tools?
        – You could use this catalogue to identify the
          most adequate tools for your needs?
        – You could compare adequate tools?
2/25                      ⇒ Comparative framework
Context                                    (1/3)

        Maintenance
        – Many successes
          •   Y2K
          •   Mini-computers
          •   Universities information system ☺
          •   …
        – Lots of research work still needed
          • Costs/Time
          • Automation
3/25      • Reengineering
Context                          (2/3)

        In software maintenance, reverse-
        engineering stands as a very important
        activity, at the heart of most
        maintenance efforts




4/25
Context                        (3/3)

        Reverse-engineering is mainly
        concerned with design recovery, to
        recreate design abstractions from a
        combination of source code, design
        documentation, personal experience,
        and general knowledge about problem
        and application domains
        (T.J. Biggerstaff)
5/25
Motivations

        Help in improving design recovery
        – Comparison of techniques and tools
           • For example, logic queries, LSI, use case and
             module/class interaction views, process graph
        – Identification of interesting/unexplored
          research avenues
           • For example, search based SE
        – Replication of controlled experiments and
          case studies
6/25       • For example, Mozilla
Problems                                   (1/3)

        Comparisons of techniques and tools
        – Rationale
          • Developers/Users
          • Needs/Features
        – Problems
          • Different purposes
          • Different sources of data
          • Different type of recovered designs

7/25
Problems                            (2/3)

        Identification of interesting/unexplored
        research avenues
        – Rationale
           • Researchers
           • Needs/Features
        – Problems
           • Science vs. Techniques
           • ¬Reinventing the wheel

8/25
Problems                                    (3/3)

        Replication of controlled experiments
        and case studies
        – Rationale
           • Researchers/Users
           • Case studies
           • Controlled experiments
        – Problems
           • Design/Replication of empirical studies on
             design recovery, reverse-engineering…
9/25       • Comparison of tools
Our Approach

        1.   Methodology to compare design
             recovery tools
              – Incremental/Iterative
        2.   Comparative framework
              – 8 concerns
              – 51 criteria
        3.   Application
              – 10 tools and raising
10/25
              – 2 tools in the paper: SOUL and Ptidej
1. Methodology                     (1/2)

         From existing work
         – Biggerstaff in 1989, 2-axis program
           understanding landscape (9 tools)
         – Bell and Gall in 1997, 4 functional
           categories (4 tools)
         – Gannod and Cheng in 1999, 4 categories
           and 4 dimensions (16 tools)
         – Ducasse and Tichelaar in 2003, 9-axis
           design space (4 tools)
11/25
1. Methodology                    (2/2)

         From live discussions
         – 6th Workshop on Object Oriented
           Reengineering at ECOOP 2005
         – 1st Workshop on Empirical Studies in
           Reverse Engineering at STEP/ICSM 2005


         Incremental/Iterative

12/25
2. Comparative Framework

         8 concerns




13/25
2. Comparative Framework
         51 criteria          –   Precision        –   Semantics
          –   Lifespan        –   Representation   –   Human-readable
          –   Methodology     –   Type of Data     –   Level of Detail
          –   Range of Uses   –   Versions         –   Quality
          –   Settings        –   Adaptability     –   Representation
          –   UoD             –   Automation       –   Type of Data
          –   Long-term       –   Complexity       –   Dependencies
          –   Short-term      –   Determinism      –   Languages
          –   Acquaintance    –   Explicative      –   Maintained
          –   Experience      –   Fuzzy-ness       –   Platforms
          –   Prerequisites   –   Granularity      –   Documentation
          –   Targeted User   –   Incremental      –   Multi-user
          –   Type            –   Iterative        –   User Base
          –   Assumptions     –   Language         –   Kind of Licence
          –   Data Source     –   Maturity         –   Multi-user
14/25     –   Documentation   –   Method           –   User Base
          –   Model           –   Scalability      –   …
2. Context




15/25
2. Intent




16/25
2. User




17/25
2. Input




18/25
19/25
2. Technique
2. Output




20/25
2. Implementation




21/25
2. Tool




22/25
3. Application

         Currently,
          – We classified 2 tools in details
          – We classified 8 tools superficially
             • JIAD, JFREEDOM, Refactoring Crawler,
               Hammock graphs, Vanessa, web mining,
               TraceScraper, FAMOOS
             • Contact the authors



23/25
Conclusion

         Comprehensive comparative framework
         – Design recovery tools
         – 8 concerns, 51 criteria
         Improve criteria, ontology
         Improve the use of the framework, web-
         based questionnaires
         Build a space of design recovery tools,
         complete taxonomy
24/25    Benchmarks!
Future Work


                        We need YOU!


         Tool builder? Know a cool tool? Please, contact us!
                    Soon to come, a web survey
                      7th WOOR’06 at ECOOP
25/25
         guehene@iro.umontreal.ca, kim.mens@uclouvain.be, roel.wuyts@ulb.ac.be

Weitere ähnliche Inhalte

Ähnlich wie Comparative Framework for Design Recovery Tools

131014 yann-gael gueheneuc - quality, patterns, and multi-language systems
131014   yann-gael gueheneuc - quality, patterns, and multi-language systems131014   yann-gael gueheneuc - quality, patterns, and multi-language systems
131014 yann-gael gueheneuc - quality, patterns, and multi-language systemsPtidej Team
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineeringmoduledesign
 
Web-Based Self- and Peer-Assessment of Teachers’ Educational Technology Compe...
Web-Based Self- and Peer-Assessment of Teachers’ Educational Technology Compe...Web-Based Self- and Peer-Assessment of Teachers’ Educational Technology Compe...
Web-Based Self- and Peer-Assessment of Teachers’ Educational Technology Compe...Hans Põldoja
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineeringmoduledesign
 
2016 iccgis module1_methods_andtechniques
2016 iccgis module1_methods_andtechniques2016 iccgis module1_methods_andtechniques
2016 iccgis module1_methods_andtechniquesUUUI ICA
 
Ui Design And Usability For Everybody
Ui Design And Usability For EverybodyUi Design And Usability For Everybody
Ui Design And Usability For EverybodyEmpatika
 
Evaluation Insights to Key Processes of Digital Repositories
Evaluation Insights to Key Processes of Digital RepositoriesEvaluation Insights to Key Processes of Digital Repositories
Evaluation Insights to Key Processes of Digital RepositoriesGiannis Tsakonas
 
Human Computer Interaction in software process.ppt
Human Computer Interaction in software process.pptHuman Computer Interaction in software process.ppt
Human Computer Interaction in software process.pptJothilakshmi S
 
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Hugo Bruneliere
 
Model Manipulation for End-User Modelers
Model Manipulation for End-User ModelersModel Manipulation for End-User Modelers
Model Manipulation for End-User ModelersVlad Acretoaie
 
Utsp virtual lab (desktop version)
Utsp virtual lab (desktop version)Utsp virtual lab (desktop version)
Utsp virtual lab (desktop version)Debabrata Tripathy
 
ECOOP05 WOORa.ppt
ECOOP05 WOORa.pptECOOP05 WOORa.ppt
ECOOP05 WOORa.pptPtidej Team
 
Software Programs for Data Analysis
Software Programs for Data AnalysisSoftware Programs for Data Analysis
Software Programs for Data Analysisunmgrc
 
Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Lionel Briand
 

Ähnlich wie Comparative Framework for Design Recovery Tools (20)

Csmr06b.ppt
Csmr06b.pptCsmr06b.ppt
Csmr06b.ppt
 
131014 yann-gael gueheneuc - quality, patterns, and multi-language systems
131014   yann-gael gueheneuc - quality, patterns, and multi-language systems131014   yann-gael gueheneuc - quality, patterns, and multi-language systems
131014 yann-gael gueheneuc - quality, patterns, and multi-language systems
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
Web-Based Self- and Peer-Assessment of Teachers’ Educational Technology Compe...
Web-Based Self- and Peer-Assessment of Teachers’ Educational Technology Compe...Web-Based Self- and Peer-Assessment of Teachers’ Educational Technology Compe...
Web-Based Self- and Peer-Assessment of Teachers’ Educational Technology Compe...
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
2016 iccgis module1_methods_andtechniques
2016 iccgis module1_methods_andtechniques2016 iccgis module1_methods_andtechniques
2016 iccgis module1_methods_andtechniques
 
WWW2015 PHD Symposium
WWW2015 PHD SymposiumWWW2015 PHD Symposium
WWW2015 PHD Symposium
 
Ui Design And Usability For Everybody
Ui Design And Usability For EverybodyUi Design And Usability For Everybody
Ui Design And Usability For Everybody
 
Evaluation Insights to Key Processes of Digital Repositories
Evaluation Insights to Key Processes of Digital RepositoriesEvaluation Insights to Key Processes of Digital Repositories
Evaluation Insights to Key Processes of Digital Repositories
 
Human Computer Interaction in software process.ppt
Human Computer Interaction in software process.pptHuman Computer Interaction in software process.ppt
Human Computer Interaction in software process.ppt
 
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
 
MBUID survey
MBUID surveyMBUID survey
MBUID survey
 
Oopsla07 tooldemo.ppt
Oopsla07 tooldemo.pptOopsla07 tooldemo.ppt
Oopsla07 tooldemo.ppt
 
Model Manipulation for End-User Modelers
Model Manipulation for End-User ModelersModel Manipulation for End-User Modelers
Model Manipulation for End-User Modelers
 
Utsp virtual lab (desktop version)
Utsp virtual lab (desktop version)Utsp virtual lab (desktop version)
Utsp virtual lab (desktop version)
 
Ec2013 tutorial-mb variability-final
Ec2013 tutorial-mb variability-finalEc2013 tutorial-mb variability-final
Ec2013 tutorial-mb variability-final
 
ECOOP05 WOORa.ppt
ECOOP05 WOORa.pptECOOP05 WOORa.ppt
ECOOP05 WOORa.ppt
 
Be cse
Be cseBe cse
Be cse
 
Software Programs for Data Analysis
Software Programs for Data AnalysisSoftware Programs for Data Analysis
Software Programs for Data Analysis
 
Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.
 

Mehr von Ptidej Team

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software MiniaturisationPtidej Team
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel BriandPtidej Team
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel AbdellatifPtidej Team
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh KermansaraviPtidej Team
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel GrichiPtidej Team
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano PolitowskiPtidej Team
 
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 crisisPtidej Team
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptPtidej Team
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptPtidej 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

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Kürzlich hochgeladen (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Comparative Framework for Design Recovery Tools

  • 1. A Comparative Framework for Design Recovery Tools Yann-Gaël Guéhéneuc, Kim Mens, and Roel Wuyts CSMR 2006 Bari, Italy GEODES Department of Informatics Département d'ingénierie Département d'informatique and Operations Research informatique Université Libre de Bruxelles University of Montreal Université catholique de Louvain
  • 2. Teaser You need to recover the design of a large, complex legacy-system... Wouldn’t it be nice if – You would have a catalogue of available design recovery tools? – You could use this catalogue to identify the most adequate tools for your needs? – You could compare adequate tools? 2/25 ⇒ Comparative framework
  • 3. Context (1/3) Maintenance – Many successes • Y2K • Mini-computers • Universities information system ☺ • … – Lots of research work still needed • Costs/Time • Automation 3/25 • Reengineering
  • 4. Context (2/3) In software maintenance, reverse- engineering stands as a very important activity, at the heart of most maintenance efforts 4/25
  • 5. Context (3/3) Reverse-engineering is mainly concerned with design recovery, to recreate design abstractions from a combination of source code, design documentation, personal experience, and general knowledge about problem and application domains (T.J. Biggerstaff) 5/25
  • 6. Motivations Help in improving design recovery – Comparison of techniques and tools • For example, logic queries, LSI, use case and module/class interaction views, process graph – Identification of interesting/unexplored research avenues • For example, search based SE – Replication of controlled experiments and case studies 6/25 • For example, Mozilla
  • 7. Problems (1/3) Comparisons of techniques and tools – Rationale • Developers/Users • Needs/Features – Problems • Different purposes • Different sources of data • Different type of recovered designs 7/25
  • 8. Problems (2/3) Identification of interesting/unexplored research avenues – Rationale • Researchers • Needs/Features – Problems • Science vs. Techniques • ¬Reinventing the wheel 8/25
  • 9. Problems (3/3) Replication of controlled experiments and case studies – Rationale • Researchers/Users • Case studies • Controlled experiments – Problems • Design/Replication of empirical studies on design recovery, reverse-engineering… 9/25 • Comparison of tools
  • 10. Our Approach 1. Methodology to compare design recovery tools – Incremental/Iterative 2. Comparative framework – 8 concerns – 51 criteria 3. Application – 10 tools and raising 10/25 – 2 tools in the paper: SOUL and Ptidej
  • 11. 1. Methodology (1/2) From existing work – Biggerstaff in 1989, 2-axis program understanding landscape (9 tools) – Bell and Gall in 1997, 4 functional categories (4 tools) – Gannod and Cheng in 1999, 4 categories and 4 dimensions (16 tools) – Ducasse and Tichelaar in 2003, 9-axis design space (4 tools) 11/25
  • 12. 1. Methodology (2/2) From live discussions – 6th Workshop on Object Oriented Reengineering at ECOOP 2005 – 1st Workshop on Empirical Studies in Reverse Engineering at STEP/ICSM 2005 Incremental/Iterative 12/25
  • 13. 2. Comparative Framework 8 concerns 13/25
  • 14. 2. Comparative Framework 51 criteria – Precision – Semantics – Lifespan – Representation – Human-readable – Methodology – Type of Data – Level of Detail – Range of Uses – Versions – Quality – Settings – Adaptability – Representation – UoD – Automation – Type of Data – Long-term – Complexity – Dependencies – Short-term – Determinism – Languages – Acquaintance – Explicative – Maintained – Experience – Fuzzy-ness – Platforms – Prerequisites – Granularity – Documentation – Targeted User – Incremental – Multi-user – Type – Iterative – User Base – Assumptions – Language – Kind of Licence – Data Source – Maturity – Multi-user 14/25 – Documentation – Method – User Base – Model – Scalability – …
  • 23. 3. Application Currently, – We classified 2 tools in details – We classified 8 tools superficially • JIAD, JFREEDOM, Refactoring Crawler, Hammock graphs, Vanessa, web mining, TraceScraper, FAMOOS • Contact the authors 23/25
  • 24. Conclusion Comprehensive comparative framework – Design recovery tools – 8 concerns, 51 criteria Improve criteria, ontology Improve the use of the framework, web- based questionnaires Build a space of design recovery tools, complete taxonomy 24/25 Benchmarks!
  • 25. Future Work We need YOU! Tool builder? Know a cool tool? Please, contact us! Soon to come, a web survey 7th WOOR’06 at ECOOP 25/25 guehene@iro.umontreal.ca, kim.mens@uclouvain.be, roel.wuyts@ulb.ac.be