SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
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

Más contenido relacionado

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

Similar a 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.
 

Más 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
 

Más 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

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
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
 
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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 

Último (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
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
 
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)
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 

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