owf 2013 rii moose speaker 2
TRANSCRIPT
![Page 1: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/1.jpg)
Software Analysis Platform
Usman Bha)RMod – INRIA Lille
![Page 2: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/2.jpg)
Software MaintenanceSoftware needs to be adapted
Context changes
Customers change
Technology changes
People change
Software maintenance is a sign of success
![Page 3: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/3.jpg)
Software Maintenance
Between 50% and 80% of global effort is spent on
“maintenance” !
80%
20%
![Page 4: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/4.jpg)
Software Maintenance
Between 50% and 80% of global effort is spent on
“maintenance” !
80%
20%
40%
20%40%
Understand Code
![Page 5: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/5.jpg)
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
![Page 6: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/6.jpg)
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
![Page 7: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/7.jpg)
CurrentPractices
![Page 8: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/8.jpg)
tailoredmanual automatic
generic
We spend a lot of money at the wrong placewith the wrong tools!
![Page 9: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/9.jpg)
tailoredmanual automatic
generic
We spend a lot of money at the wrong placewith the wrong tools!
![Page 10: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/10.jpg)
feedback is key
contextualcontinuous
![Page 11: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/11.jpg)
Pla7orm for So;ware Analysis
Open source project since 1996
Several hundred person-‐years of R&D
![Page 12: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/12.jpg)
importers modelsdata analyses
engines
In a Nutshell
![Page 13: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/13.jpg)
Java C / C++ Smalltalk .NET
![Page 14: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/14.jpg)
NavigaTon in the Model
![Page 15: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/15.jpg)
JBoss Developer activity
![Page 16: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/16.jpg)
Test coverage
![Page 17: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/17.jpg)
13
Query-‐based VisualizaTons
![Page 18: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/18.jpg)
Tools Compact Better Focus
![Page 19: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/19.jpg)
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 ].
![Page 20: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/20.jpg)
Is this all useful?
![Page 21: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/21.jpg)
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
![Page 22: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/22.jpg)
Modeling of Eclipse Plugins
![Page 23: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/23.jpg)
Contextual Visualization of Plugins
Layer and plugin dependencies
Colors to distinguish dependency types
![Page 24: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/24.jpg)
Custom RulesRule followers and breakers
green: followersorange: break < 5 rules
Red: break > 5 rules
![Page 25: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/25.jpg)
Dedicated Tools for So;ware Analysis
![Page 26: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/26.jpg)
Synectique
• Software business intelligence
• Tailored solution to specific needs
• Legacy languages
![Page 27: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/27.jpg)
Data Model
CreateAnalysis
Act
Analyze
Analysis should allow concrete actions
![Page 28: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/28.jpg)
Data Model
CreateAnalysis
Act
Dedicated Tools
Analyze
Analysis should allow concrete actions
![Page 29: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/29.jpg)
Code Model Dashboard
IDE
Duplication
![Page 30: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/30.jpg)
Code Model
Dedicated Tools
Dashboard
IDE
Duplication
![Page 31: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/31.jpg)
DashboardFrequency of Dead functions
Number of Dead Functions in Module
Num
ber o
f Mod
ule
Overall System view
![Page 32: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/32.jpg)
Interactions
Modules
Properties and Metrics
Calls
Visualization
![Page 33: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/33.jpg)
Code Duplication
![Page 34: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/34.jpg)
Bug Maps
![Page 35: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/35.jpg)
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, ...
![Page 36: Owf 2013 rii moose speaker 2](https://reader035.vdocument.in/reader035/viewer/2022081403/557018cbd8b42ac0178b53b8/html5/thumbnails/36.jpg)
Synectique offers
- Dedicated software analysis for effective/efficient decision making
- Software Business Intelligence for successful/reliable management of Software systems
http://www.synectique.eu