Owf 2013 rii moose speaker 2

190 views

Published on

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

  • Be the first to like this

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

No notes for slide

Owf 2013 rii moose speaker 2

  1. 1. Software Analysis Platform Usman  Bha) RMod  –  INRIA  Lille
  2. 2. Software Maintenance Software needs to be adapted Context changes Customers change Technology changes People change Software maintenance is a sign of success
  3. 3. Software Maintenance Between 50% and 80% of global effort is spent on “maintenance” ! 80% 20%
  4. 4. Software Maintenance Between 50% and 80% of global effort is spent on “maintenance” ! 80% 20% 40% 20% 40% Understand Code
  5. 5. Software Maintenance Between 50% and 80% of global effort is spent on “maintenance” ! 80% 20% 40% 20% 40% 50% of maintenance is spent reading code! Understand Code
  6. 6. Software Maintenance Between 50% and 80% of global effort is spent on “maintenance” ! 80% 20% 40% 20% 40% 50% of maintenance is spent reading code! Understand Code
  7. 7. Current Practices
  8. 8. tailored manual automatic generic We spend a lot of money at the wrong place with the wrong tools!
  9. 9. tailored manual automatic generic We spend a lot of money at the wrong place with the wrong tools!
  10. 10. feedback is key contextual continuous
  11. 11. Pla7orm  for  So;ware  Analysis Open  source  project  since  1996 Several  hundred  person-­‐years  of  R&D
  12. 12. importers modelsdata analyses engines In a Nutshell
  13. 13. Java C  /  C++ Smalltalk .NET
  14. 14. NavigaTon  in  the  Model
  15. 15. JBoss Developer activity
  16. 16. Test coverage
  17. 17. 13 Query-­‐based  VisualizaTons
  18. 18. Tools Compact Better Focus
  19. 19. b := GLMTabulator new. b column: #namespaces; column: #classes; column: #methods. b transmit to: #namespaces; andShow: [:a | a tree display: [ :model | model allNamespaces select: #isRoot ]; children: #childScopes; format: #name ]. b transmit to: #classes; from: #namespaces; andShow: [:a | a list display: #classes; format: #name ]. b transmit to: #methods; from: #classes; andShow: [:a | a list display: #methods; format: #signature ]. b transmit toOutsidePort: #class; from: #classes. b transmit to: #methods; from: #methods. B := GLMTabulator new. B title: 'Code Browser'. B row: #nav; row: #details. B transmit to: #nav; andShow: [:a | a custom: b ]. B transmit to: #details; from: #nav port: #class; andShow: [:a | a text display: #sourceText ]. B transmit to: #details; from: #nav port: #method; andShow: [:a | a text display: #sourceText ].
  20. 20. Is  this  all  useful?
  21. 21. Case Study - Papyrus UML • Problem: Understand dependencies introduced by developers of Papyrus UML • 29  layers,  404  plugins,  10421  total  plugin  dependencies • Dependencies  between  layers  and  plugins • And  disTnguish  types  of  dependencies  -­‐>  Export,  Direct,  Implicit
  22. 22. Modeling of Eclipse Plugins
  23. 23. ContextualVisualization of Plugins Layer and plugin dependencies Colors to distinguish dependency types
  24. 24. Custom Rules Rule followers and breakers green: followers orange: break < 5 rules Red: break > 5 rules
  25. 25. Dedicated  Tools  for  So;ware  Analysis
  26. 26. Synectique • Software business intelligence • Tailored solution to specific needs • Legacy languages
  27. 27. Data Model Create Analysis Act Analyze Analysis should allow concrete actions
  28. 28. Data Model Create Analysis Act Dedicated Tools Analyze Analysis should allow concrete actions
  29. 29. Code Model Dashboard IDE Duplication
  30. 30. Code Model Dedicated Tools Dashboard IDE Duplication
  31. 31. Dashboard Frequency of Dead functions Number of Dead Functions in Module NumberofModule Overall System view
  32. 32. Interactions Modules Properties and Metrics Calls Visualization
  33. 33. Code Duplication
  34. 34. Bug Maps
  35. 35. Tools and Services - Modularization and impact analysis, - Architecture Extraction and Compliance, - Software Metrics and Quality models, - Maps and Visualizations of program artefacts, - Custom rules checking and Live report, - Trends Analysis, Evolution Analysis - Languages: Java, C#, Cobol, 4D, ABAP, ...
  36. 36. Synectique offers - Dedicated software analysis for effective/efficient decision making - Software Business Intelligence for successful/reliable management of Software systems  http://www.synectique.eu

×