SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
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

Mais conteúdo relacionado

Semelhante a 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 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
 

Semelhante a CSMR06b.ppt (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.
 

Mais de 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
 

Mais de 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
 

Último

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
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 AutomationSafe Software
 
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...Enterprise Knowledge
 
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 slidevu2urc
 
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 textsMaria Levchenko
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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 2024Results
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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 Scriptwesley chun
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
[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.pdfhans926745
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Último (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
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...
 
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
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.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
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

CSMR06b.ppt

  • 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