CSMR06b.ppt

95 views
71 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
95
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

CSMR06b.ppt

  1. 1. A Comparative Framework for Design Recovery Tools Yann-Gaël Guéhéneuc, Kim Mens, and Roel Wuyts CSMR 2006 Bari, ItalyGEODES Department of Informatics Département dingénierie Département dinformatique and Operations Research informatique Université Libre de Bruxelles University of Montreal Université catholique de Louvain
  2. 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. 3. Context (1/3) Maintenance – Many successes • Y2K • Mini-computers • Universities information system ☺ • … – Lots of research work still needed • Costs/Time • Automation3/25 • Reengineering
  4. 4. Context (2/3) In software maintenance, reverse- engineering stands as a very important activity, at the heart of most maintenance efforts4/25
  5. 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. 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 studies6/25 • For example, Mozilla
  7. 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 designs7/25
  8. 8. Problems (2/3) Identification of interesting/unexplored research avenues – Rationale • Researchers • Needs/Features – Problems • Science vs. Techniques • ¬Reinventing the wheel8/25
  9. 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. 10. Our Approach 1. Methodology to compare design recovery tools – Incremental/Iterative 2. Comparative framework – 8 concerns – 51 criteria 3. Application – 10 tools and raising10/25 – 2 tools in the paper: SOUL and Ptidej
  11. 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. 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/Iterative12/25
  13. 13. 2. Comparative Framework 8 concerns13/25
  14. 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-user14/25 – Documentation – Method – User Base – Model – Scalability – …
  15. 15. 2. Context15/25
  16. 16. 2. Intent16/25
  17. 17. 2. User17/25
  18. 18. 2. Input18/25
  19. 19. 19/252. Technique
  20. 20. 2. Output20/25
  21. 21. 2. Implementation21/25
  22. 22. 2. Tool22/25
  23. 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 authors23/25
  24. 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 taxonomy24/25 Benchmarks!
  25. 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 ECOOP25/25 guehene@iro.umontreal.ca, kim.mens@uclouvain.be, roel.wuyts@ulb.ac.be

×