exploring the limits of domain model recovery
play

Exploring the Limits of Domain Model Recovery Paul - PowerPoint PPT Presentation

Exploring the Limits of Domain Model Recovery Paul Klint, Davy Landman , Jurgen Vinju 1 Re-engineering Re-design of an exis9ng system


  1. Exploring ¡the ¡Limits ¡of ¡ ¡ Domain ¡Model ¡Recovery ¡ ¡ Paul ¡Klint, ¡ Davy ¡Landman , ¡Jurgen ¡Vinju ¡ ¡ 1 ¡

  2. Re-­‑engineering ¡ • Re-­‑design ¡of ¡an ¡exis9ng ¡system ¡ • Designers ¡need ¡to ¡understand ¡the ¡Domain ¡ • We ¡want ¡to ¡support ¡them! ¡ 2 ¡

  3. Understanding ¡the ¡Domain ¡ • Domain ¡Model: ¡ ¡ – En99es ¡ – Rela9ons ¡ ¡ • Recovering ¡domain ¡models ¡from ¡the ¡source ¡ code ¡of ¡soHware ¡systems ¡in ¡the ¡domain ¡ 3 ¡

  4. Motivation ¡ • Skep9cal ¡about ¡this ¡recovery ¡ • Difficult ¡for ¡legacy ¡systems ¡ • Possible ¡for ¡new ¡systems ¡wriNen ¡in ¡new ¡languages? ¡ 4 ¡

  5. Research ¡question ¡ How ¡much ¡of ¡the ¡domain ¡model ¡is ¡ recoverable ¡from ¡the ¡source ¡code? ¡ 5 ¡

  6. Research ¡question ¡ How ¡much ¡of ¡the ¡domain ¡model ¡is ¡ recoverable ¡from ¡the ¡source ¡code? ¡ 1. Which ¡parts ¡of ¡the ¡domain ¡are ¡ Q ¡ implemented ¡by ¡the ¡applica9on? ¡ ¡ 2. Can ¡we ¡ manually ¡recover ¡a ¡domain ¡model ¡ Q ¡ from ¡source ¡code? ¡ 6 ¡

  7. Why ¡manual? ¡ • Interested ¡in ¡the ¡maximum ¡possible ¡ • 100% ¡accuracy ¡=> ¡NO ¡tools ¡ • Fact ¡finding ¡mission ¡ 7 ¡

  8. User ¡ Coverage ¡of ¡the ¡ Informa9on ¡from ¡ domain ¡ source ¡code ¡ Model ¡ Q1 ¡ Q2 ¡ Reference ¡ Source ¡ Model ¡ Model ¡ 8 ¡

  9. Research ¡method ¡ • Pick ¡a ¡domain: ¡ project ¡planning ¡ • Obtain ¡a ¡reference ¡model: ¡ Extract ¡from ¡PMBOK ¡ • Manually ¡extract ¡models: ¡ from ¡2 ¡applica:ons ¡ • Map ¡& ¡Compare: ¡ recall ¡& ¡precision ¡ 9 ¡

  10. Traceability ¡ • Full ¡accountability ¡ ¡ • All ¡steps ¡are ¡fully ¡traced ¡ • Internal ¡consistency ¡checks ¡/ ¡metrics ¡ 10 ¡

  11. Project ¡Planning ¡ • Project ¡Management ¡Ins9tute ¡ • Project ¡Management ¡Body ¡of ¡ Knowledge ¡(476 ¡pages) ¡ • Project ¡planning ¡is ¡a ¡subset! ¡ 11 ¡

  12. Reference ¡Model ¡ p ¡136 ¡ 12 ¡

  13. Reference ¡Model ¡ 13 ¡

  14. Reference ¡Model ¡ 14 ¡

  15. Applications ¡ • 2 ¡open ¡source ¡applica9ons ¡(out ¡of ¡10) ¡ • “Op9mal” ¡condi9ons ¡ System ¡ Language ¡ SLOC ¡ Endeavour ¡ Java ¡ 18.358 ¡ OpenPM ¡ Java ¡ 17.756 ¡ 15 ¡

  16. User ¡Model ¡ 16 ¡

  17. Source ¡Model ¡ model/org/endeavour/mgmt/model/Project.java ¡ ¡ private ¡List<Iteration> ¡iterations ¡= ¡ null ; ¡ 43: 17 ¡

  18. Models, ¡Models, ¡Models! ¡ 18 ¡

  19. Models, ¡Models, ¡Models! ¡ Model ¡ Effort ¡ Reference ¡Model ¡ 80 ¡Days ¡ 2 ¡User ¡Models ¡ 4 ¡Days ¡ 2 ¡Source ¡Models ¡ 30 ¡Days ¡ 19 ¡

  20. User ¡ Model ¡ End ¡User ¡ Vocabulary ¡ Reference ¡ Source ¡ Model ¡ Model ¡ Programmer ¡ PMI ¡Vocabulary ¡ Vocabulary ¡ 20 ¡

  21. User ¡ Model ¡ Mapping ¡ Mapping ¡ End ¡User ¡ Vocabulary ¡ Reference ¡ Source ¡ Model ¡ Model ¡ Programmer ¡ PMI ¡Vocabulary ¡ Vocabulary ¡ 21 ¡

  22. Mapping ¡ User ¡Model ¡onto ¡Reference ¡Model ¡ From : ¡Itera9on ¡ To : ¡Milestone ¡ Kind : ¡Specializa9on ¡ Reason : ¡Itera9ons ¡split ¡the ¡project ¡into ¡ chunks ¡of ¡work, ¡Milestones ¡do ¡the ¡same ¡ but ¡are ¡not ¡necessarily ¡itera9ve. ¡ ¡ 22 ¡

  23. Reference ¡ User ¡ Model ¡ Model ¡ Q1: ¡Which ¡parts ¡of ¡the ¡domain ¡are ¡ implemented ¡by ¡the ¡applica9on? ¡ Endeavour ¡ OpenPM ¡ Combined ¡ Recall ¡ 19% ¡ 7% ¡ 22% ¡ Precision ¡ 91% ¡ 36% ¡ 40% ¡ Answer: ¡ Only ¡a ¡small ¡part ¡ (precision ¡varies) ¡ 23 ¡

  24. User ¡ Source ¡ Model ¡ Model ¡ Q2: ¡Can ¡we ¡ manually ¡recover ¡a ¡domain ¡ model ¡from ¡source ¡code? ¡ Endeavour ¡ OpenPM ¡ Recall ¡ 100% ¡ 100% ¡ Precision ¡ 92% ¡ 79% ¡ Answer: ¡ Yes, ¡100% ¡ ¡ (with ¡high ¡precision) ¡ 24 ¡

  25. Summary ¡ • Project ¡Planning ¡Reference ¡Model 1 ¡ • Created ¡10 ¡models ¡ • Small ¡coverage ¡of ¡the ¡Domain ¡ • However, ¡not ¡a ¡lot ¡of ¡“junk” ¡in ¡source ¡code ¡ • Everything ¡available ¡online 1 ¡ 1 ¡ http://homepage.cwi.nl/~landman/icsm2013/ ¡ 25 ¡

  26. Conclusion ¡ • Modern ¡soHware ¡systems ¡contain ¡ recoverable ¡ domain ¡knowledge ¡ • Good ¡news ¡for ¡Automated ¡Reverse ¡Engineering ¡ 26 ¡

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend