rmodrmod quality and software...
TRANSCRIPT
![Page 1: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/1.jpg)
Stéphane Ducasse
Dr. Stéphane [email protected]://stephane.ducasse.free.fr/
RModRMod
Quality and SoftwareVisualization
1
![Page 2: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/2.jpg)
RMOD expertise
Supporting software evolution and software compositionAxis 1: Reengineering
Maintaining large software systemsMoose: a powerful platform for reengineeringNokia, Daimler, Harman-Becker, Siemens, Cincom
Axis 2: Dynamic languages to support evolutionRevisiting fundamental aspects of OO languagesReuse Traits: Fortress (SUN Microsystems), Perl-6, Scala (EPFL), Squeak, Dr-Scheme, Security and Dynamic Languages
2
RMod
![Page 3: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/3.jpg)
S.Ducasse LSERMod
A word of presentationSince 1996 Moose (reengineering platform)
Object-Oriented Reengineering Patterns
Grounded in realityMaintainer of open-source projects
Worked with:Harman-Becker AG Bedag AG, Nokia, Daimler
3
![Page 4: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/4.jpg)
S.Ducasse LSERMod
4
![Page 5: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/5.jpg)
S.Ducasse LSERMod
Let’s face it, this is the Graal
5
![Page 6: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/6.jpg)
S.Ducasse LSERMod
Roadmap• Some software development facts • Our approach
• Supporting maintenance• Moose an open-platform
• Visual principles in 3 min• Some visual examples• Conclusion
6
![Page 7: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/7.jpg)
S.Ducasse LSERMod
Software...
The Standish Group, 2004
53% Challenged
18% Failed
29% Succeeded
7
![Page 8: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/8.jpg)
S.Ducasse LSERMod
53% Challenged
18% Failed
29% Succeeded
8
Software is complex.
![Page 9: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/9.jpg)
1946
![Page 10: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/10.jpg)
S.Ducasse LSERMod
How large is your project?
1’000’000 lines of code* 2 = 2’000’000 seconds
/ 3600 = 560 hours/ 8 = 70 days
/ 20 = 3 months
10
![Page 11: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/11.jpg)
S.Ducasse LSERMod
Maintenance: Continuous Development
11
Between 50% and 75% of global effort is spent on “maintenance” ! 17.4% Corrective
(fixing reported errors)
18.2% Adaptive(new platforms or OS)
60.3% Perfective(new functionality)
4.1% Other
The bulk of the maintenance cost is due to new functionalityeven with better requirements, it is hard to predict new functions
![Page 12: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/12.jpg)
S.Ducasse LSERMod
Lehman’s Software Evolution LawsContinuous Change: “A program that is used in a real-world environment must change, or become progressively less useful in that environment.”
Software Entropy: “As a program evolves, it becomes more complex, and extra resources are needed to preserve and simplify its structure.”
12
![Page 13: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/13.jpg)
S.Ducasse LSERMod
System evolution is like... SimCity
13
![Page 14: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/14.jpg)
S.Ducasse LSERMod
Software are living…Early decisions were certainly good at that timeBut the context changesCustomers changeTechnology changesPeople change
14
![Page 15: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/15.jpg)
Software developmentis more than forward engineering.
Forward engineering
Actual development}
{
}
{
}
{
}
{}
{
}
{
}
{}
{
}
{
![Page 16: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/16.jpg)
Maintenance is is needed to evolve the code.
Rever
se en
ginee
ring
Forward engineering
Actual development}
{
}
{
}
{
}
{}
{
}
{
}
{}
{
}
{
![Page 17: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/17.jpg)
S.Ducasse LSERMod
Roadmap• Some software development facts • Our approach
• Supporting maintenance• Moose an open-platform
• Visual principles in 3 min• Some visual examples• Conclusion
17
![Page 18: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/18.jpg)
S.Ducasse
Help teams maintaining large software
What is the xray for software?code, people, practices
Which analyses?How can you monitor your system (dashboards....)How to present extracted information?
18
![Page 19: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/19.jpg)
S.Ducasse
Since 1996...
TopicsMetamodeling, metrics,program understanding,visualization, evolution analysis,duplicated code detection,code Analysis, refactorings,test generation...
ContributionsMoose: an open-source extensible reengineering environment: (Lugano, Bern, Annecy, Anvers, Louvain la neuve, ULB, UTSL)
ContactsHarman-Becker (3 Millions C++), Bedag (Cobol), Nokia, ABB, IMEC
19
Representation Transformations
Reverse
Engineering
Analyses
Evolution
![Page 20: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/20.jpg)
S.Ducasse LSERMod
20
Representation Transformations
Reverse
Engineering
Analyses
EvolutionLanguage Independent Meta Model (FAMIX)
[UML99]An Extensible Reengineering Environment (Moose)
[Models 06]
Reengineering PatternsVersion Analyses
[ICSM 05]HISMO metamodel
[JSME 05]
Understanding Large Systems [WCRE99, TSI00, TSE03]Static/Dynamic Information
[ICSM99]Feature Analysis
[JSME 06]Class Understanding
[OOPSLA01,TSE04]Package Blueprints
[ICSM 07]Distribution Maps
[ICSM 06]
Software Metrics [LMO99, OOPSLA00]
Duplicated Code Identification[ICSM99, ICSM02]
Group Identification [ASE03]
Test Generation [CSMR 06]Concept Identification
[WCRE 06]
Language Independent Refactorings
[IWPSE 00]
![Page 21: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/21.jpg)
S.Ducasse
An example: who is responsible of what?
21
(1) Extraction
(2) Modèle
(4) Visualisation
(3) Analyses
![Page 22: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/22.jpg)
S.Ducasse
An example: who is responsible of what?
22
(1) Extraction
(2) Modèle
(4) Visualisation
(3) Analyses
Distribution Map of authors on JBoss
![Page 23: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/23.jpg)
S.Ducasse LSERMod
Distribution Map
23
![Page 24: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/24.jpg)
}
{
}
{
}
{}
{
}
{
McCabe = 21
LOC =
753,0
00NOM = 102
Metrics Queries Visualizations ...
Moose is a powerful environment
![Page 25: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/25.jpg)
Moose is designed to be extensible
Method Class
Inheritance
Method Class
Inheritance
Author
File
Duplication
Event
Trace
ClassVersion
ClassHistory
openmeta-described
![Page 26: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/26.jpg)
S.Ducasse LSERMod
Moose has been validated on real life systems
Several large, industrial case studies (NDA)Harman-BeckerNokiaDaimlerSiemens
Different implementation languages (C++, Java, Smalltalk, Cobol)
We use external C++ parsersDifferent sizesMoose is used in several research groups
26
![Page 27: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/27.jpg)
S.Ducasse LSERMod
Visualization principles in 3 min
• Preattentive visualization (unconscious < 200ms)• Gestalt principles (from 1912)• 70% of our sensors are dedicated to vision
27
![Page 28: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/28.jpg)
Tudor Gîrba
How many 5?
28
3332123466509000096766689877835367786676091091981897174643303982176834467865860880221167687687789762
![Page 29: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/29.jpg)
Tudor Gîrba
How many 5?
29
3332123466509000096766689877835367786676091091981897174643303982176834467865860880221167687687789762
![Page 30: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/30.jpg)
Tudor Gîrba
Preattentive attributes
30
Color intensity
Form: orientation, line length, line width, size, shape, added marks, enclosure
Spatial position (2D location)
Motion (flicker)
![Page 31: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/31.jpg)
Tudor Gîrba
Color / intensity
31
![Page 32: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/32.jpg)
Tudor Gîrba
Position
32
![Page 33: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/33.jpg)
Tudor Gîrba
Form / Orientation
33
![Page 34: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/34.jpg)
Tudor Gîrba
Form / Line length
34
![Page 35: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/35.jpg)
Tudor Gîrba
Form / Line width
35
![Page 36: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/36.jpg)
Tudor Gîrba
Form / Size
36
![Page 37: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/37.jpg)
Tudor Gîrba
Form / Shapes
37
![Page 38: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/38.jpg)
Tudor Gîrba
Form / Added marks
38
![Page 39: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/39.jpg)
Tudor Gîrba
Form / Enclosure
39
![Page 40: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/40.jpg)
Tudor Gîrba
Context
40
![Page 41: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/41.jpg)
Tudor Gîrba
Principle of Proximity
41
![Page 42: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/42.jpg)
Tudor Gîrba
Principle of Similarity
42
![Page 43: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/43.jpg)
Tudor Gîrba
Principle of Similarity
43
![Page 44: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/44.jpg)
Tudor Gîrba 44
Principle of Enclosure
![Page 45: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/45.jpg)
Tudor Gîrba
Principle of Enclosure
45
![Page 46: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/46.jpg)
Tudor Gîrba
Principle of Closure
46
![Page 47: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/47.jpg)
Tudor Gîrba 47
Principle of connectivity
![Page 48: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/48.jpg)
Tudor Gîrba
Principle of connectivity
48
![Page 49: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/49.jpg)
S.Ducasse LSERMod
Roadmap• Some software development facts • Our approach
• Supporting maintenance• Moose an open-platform
• Visual principles in 3 min• Some visual examples• Conclusion
49
![Page 50: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/50.jpg)
S.Ducasse LSERMod
Challenges in VisualizationScreen sizeMax 12 colorsEdge-crossingLimited short-term memory (three to nine)Extracting semantics outBeauty cannot be a goal
Get some help fromGestalt principlespre-attentive visualization
50
![Page 51: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/51.jpg)
S.Ducasse LSERMod
Understanding large systemsUnderstanding code is difficult!Systems are largeCode is abstractShould I really convinced you?
Some existing approachesMetrics: you often get meaningless results once combinedVisualization: often beautiful but with little meaning
51
![Page 52: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/52.jpg)
Polymetric views show up to 5 metrics.
Color metric
Width metric
Height metric
Position metrics
Lanza etal, 03
![Page 53: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/53.jpg)
System Complexity shows class hierarchies.
lines
attributes
methods
![Page 54: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/54.jpg)
S.Ducasse LSERMod
Polymetric views condense information
54
Classes+InheritanceW: # of Added Methods H: # of Overridden MethodsC: # of Method Extended
To get a feel of the inheritance semantics: adding vs. reusing
methods LOC # statements # parameters
![Page 55: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/55.jpg)
S.Ducasse LSERMod
Understanding classesUnderstanding even a class is difficult!
55
![Page 56: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/56.jpg)
Class Blueprint shows class internals.
Initialize Interface Internal Accessor Attribute
invocation and access direction
Ducasse, Lanza, 05
![Page 57: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/57.jpg)
Class Blueprint shows class internals.
![Page 58: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/58.jpg)
![Page 59: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/59.jpg)
S.Ducasse LSERMod
Cycles?IdentifyUnderstandFix
Enhancing Dependency Structural Matrix
59
![Page 60: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/60.jpg)
S.Ducasse LSERMod
Graph you said?
60
![Page 61: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/61.jpg)
S.Ducasse LSERMod
Building a DSM
A B C D
A X
B X X
C X X
D X
A B
C D
A B C D
A 0 1 0 0
B 1 0 1 0
C 1 0 0 1
D 0 0 1 0
61
![Page 62: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/62.jpg)
S.Ducasse LSERMod
7 Packages visualization
1 cell = 1 dependency1 column = used packages1 line = using packages
x x x x x x x x x x
x
x
x 71 3
x 2 1 8 7 6
x 3
x 4 51 2 2 2
x 4 10 4 34 3
x 15 1
x 30
x 2 2 6
62
![Page 63: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/63.jpg)
S.Ducasse LSERMod
Identify cycles
63
![Page 64: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/64.jpg)
S.Ducasse LSERMod
Causes and distribution
64
![Page 65: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/65.jpg)
D: two classes referring
each other
F: candidate for direct
cycle fix
I: incoming funnel
A: indirect cycle
E: high % of target
impacted
G: invocations
H: inheritance
+ otherC: accesses
F: candidate for
direct cycle
fix
B: complex cycleB: complex cycle
C: accesses
E: high % of source
I: outgoing funnel
![Page 66: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/66.jpg)
S.Ducasse LSERMod
How developers develop?• More efficient to put people working together in the
same office? • How can we optimize software development?
66
![Page 67: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/67.jpg)
S.Ducasse LSERMod
Who did that?
67
Files
Time
![Page 68: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/68.jpg)
S.Ducasse LSERMod
Line colors show which author owned which files in which period
68
File A
File B
Green authorlarge commit
Green authorownership
Blue authorsmall commit
![Page 69: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/69.jpg)
S.Ducasse LSERMod
Which author “possesses” which files?
69
![Page 70: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/70.jpg)
S.Ducasse LSERMod
Alphabetical order is no order!
70
![Page 71: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/71.jpg)
S.Ducasse LSERMod
Based on similar commit signature
71
DialogueMonologue
Edit Takeover
Familiarization
![Page 72: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/72.jpg)
S.Ducasse LSERMod
Language IndependentLanguage independent, Textual, [ICSM’99], M. Rieger’s PhD. Thesis
Duploc handledPascal, Java, Smalltalk, Python, Cobol, C++, PDP-11, C
Slower than other approaches but...Max 45 min to adapt our approach to a new languageBetween 3% and 10% less identification than parametrized match
72
Exact Copies
a b c d e f a b c d e f
Copies with
a b c d e fa b x y e f
![Page 73: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/73.jpg)
S.Ducasse LSERMod
A Conceptual MatrixFile A
File A
File B
File B
Exact Copies
a b c d e f a b c d e f
Copies with
a b c d e fa b x y e f
Variations73
![Page 74: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/74.jpg)
S.Ducasse LSERMod
Evolution holds useful information
74
A
B
A
BC
A
BC
D
A
BC
D
A
D
time
B is stable
C was removed
E is newborn
A is persistent
D inherited from C and then from A …
![Page 75: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/75.jpg)
S.Ducasse LSERMod
Hierarchy Evolution Complexity View characterizes class hierarchy histories
75
B is stable
C was removed
E is newborn
A is persistent
D inherited from C and then from A …
A
B
E
C
D
ENOS
Removed
Age
Removed
Age InheritanceHistory
ClassHistory
ENOM
![Page 76: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/76.jpg)
S.Ducasse LSERMod
Class hierarchies over 40 versions of Jun - a 740 classes, 3D framework
76
![Page 77: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/77.jpg)
S.Ducasse LSERMod
We are interested in your Remodularization/RepackagingSOA - Service IdentificationArchitecture Extraction/ValidationSoftware QualityCost predictionEJB AnalysisBusiness rules extractionModel transformation
and also language challenges...
77
![Page 78: RModRMod Quality and Software Visualizationsdmeta.gforge.inria.fr/Presentations/2009-PSA-Qualimetri... · 2014-10-22 · Quality and Software Visualization 1. RMOD expertise Supporting](https://reader034.vdocuments.mx/reader034/viewer/2022042407/5f210165cab6c47a3d302e0c/html5/thumbnails/78.jpg)
S.Ducasse LSE
Evolution is difficult
• We are interested in your problems!• Moose is open-source, you can use it, extend it, change
it• We can collaborate!
78
}
{
}
{
}
{}
{
}
{
NOM > 10 & LOC > 100