2. 2
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Use of MDE to Analyse Open Source Software
Outline
3. 3
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Use of MDE to Analyse Open Source Software
Outline
4. 4
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
https://www.merriam-webster.com/dictionary/analysis
5. 5
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
http://www.dictionary.com/browse/analytics
6. 6
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Understanding complex problems
7. 7
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Understanding complex problems
8. 8
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Software Analytics
"Software analytics aims to obtain insightful and actionable
information from software artifacts that help practitioners
accomplish tasks related to software development, systems, and
users."
D. Zhang, S. han, Y. Dan, J.-G. Lou, H Zhang: Software Analytics in Practice. IEEE Software, Sept./Oct. 2013, pp. 30-35.
9. 9
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Software Analytics
"Software analytics (SA) represents a branch of big data analytics. SA is
concerned with the analysis of all software artifacts, not only source code.
[...] These tiers vary from the higher level of the management board and
setting the enterprise vision and portfolio management, going through
project management planning and implementation by software
developers."
T. M. Abdellatif, L. F. Capretz, D. Ho. Software Analytics to Software Practice: A Systematic Literature Review. 1. Int'l Workshop on
Big Data Engineering, 2015, pp. 30-36.
10. 10
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Software Analytics
"Software analytics is analytics on software data for managers
and software engineers with the aim of empowering software
development individuals and teams to gain and share insight
form their data to make better decisions."
R. Buse, T. Zimmermann. Information Needs for Software Development Analytics. Proc. Int'l Conf. Software Engineering (ICSE), IEEE CS,
2012
11. 11
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Use of MDE to Analyse Open Source Software
Outline
12. 12
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Open Source Software
āThe term open source refers to something people can modify and share
because its design is publicly accessible.ā
āOpen source software is software with source code that anyone can
inspect, modify, and enhance.ā
Main benefits:
- Control
- Training
- Security
- Stability https://opensource.com/resources/what-open-source
https://opensource.org/
13. 13
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Mining Software Repositories field
The Mining Software Repositories (MSR)
field analyzes the rich data available in
software repositories to uncover
interesting and actionable information
about software systems and projects.
http://www.msrconf.org/
Q&A systems
Bug Reports
API
Documentation
14. 14
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Mining Software Repositories field
Source code
Q&A systems
Bug Reports
API
Documentation
Tutorials
Configuration
Management Systems
15. 15
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Use of MDE to Analyse Open Source Software
Outline
16. 16
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Model-Driven Engineering
A software discipline that shifts the focus of software development
from coding to modeling
Models
ā are abstractions representing knowledge and activities that govern a particular
application domain
ā use domain concepts rather than computing concepts, ie they can be
defined/used by non computer scientists
ā have first-class status
17. 17
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Model-Driven Engineering
Over the last decades many MDE technologies have been conceived to
support a wide range of modeling and model management activities
19. 19
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Use of MDE to Analyse Open Source Software
- Upgrade simulation
- Fault detection
- Open source project comparison
- Development of new software systems by
relying on existing open source components
- Unmanned classification of available artifacts
20. 20
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Use of MDE to Analyse Open Source Software
- Upgrade simulation
- Fault detection
- Open source project comparison
- Development of new software systems by
relying on existing open source components
- Unmanned classification of available artifacts
21. 21
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Use of MDE to Analyse Open Source Software
- Upgrade simulation
- Fault detection
- Open source project comparison
- Development of new software systems by
relying on existing open source components
- Unmanned classification of available artifacts
22. 22
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Free and Open Source Software
ā More than 29,000
interdependent
packages
ā Linux distributions are
among the most complex
software ecosystems
23. 23
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Before distributions
In the beginning it was the tarball
Before the advent of distributions, the peculiar way to install free
software on client machine was:
user
installations
server
side
client
side
proj 1
proj 2
proj n
bazaar
24. 24
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
GNU/Linux distributions
To answer these problems, GNU/Linux distributions have born as
intermediaries between FOSS projects and their users
user
installations
server
side
client
side
proj 1
proj 2
proj n
FOSS
bazaar
package repository
meta-
installer
distribution
editors
package
management
25. 25
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
GNU/Linux distributions
Central notion in distributions (to abstract over the complex underlying
infrastructure):
ā package, together with package management software
package repository
distribution
editors
package
management
26. 26
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
GNU/Linux distributions
Central notion in distributions (to abstract over the complex underlying
infrastructure):
ā package, together with package management software
package repository
distribution
editors
package
management
And yet, doing things right can be
extremely difficult!
28. 28
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
An upgrade problem example
ā each phase can fail
ā it actually happens
quite often!
ā efforts should be
made to identify
errors as early as
possible, if not
predict
29. 29
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Sample Scenario
> apt-get install libapache-mod-ssl
Configuration 1
Configuration 2
Installing package
libapache-mod-ssl
+
30. 30
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Sample Scenario
31. 31
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Sample Scenario
32. 32
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Sample Scenario
33. 33
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Sample Scenario
once mod_ssl is
installed, it is enabled in
apache
34. 34
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Sample Scenario
> apt-get remove libapache-mod-ssl
Configuration n+1
Configuration n
removing package
libapache-mod-ssl
-
35. 35
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Sample Scenario
36. 36
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Sample Scenario
It disables mod_ssl in apache.
What happens if the maintainer
does not write this statement ?
37. 37
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Sample Scenario
An āinconsistentā configuration is
reached and it is detected only at
run-time:
the package dependency
metadata are not enough !
38. 38
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Problem: Upgrade failures
Current tools are able to predict a limited set of upgrade failures
before deployment
When trying to predict upgrade failures, existing tools only consider
static package metadata and the behaviour of the maintainer scripts is
completely ignored
ā This leaves a wide range of failures unpredicted
40. 40
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Idea
Extracting relevant information from a linux box (Ā«snapshotĀ») at a given
moment of time
Analysis and upgrade
simulation on the
Ā«snapshotĀ»
injectors
Linux box
Ā«snapshotĀ»
41. 41
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Ingredients 1/3
Modeling languages for describing the several aspects of a linux distribution
ā Packages
ā¢ including maintainer scripts
ā System Configuration
ā¢ Installed packages
ā¢ Configuration files
ā¢ MIME-type handlers
ā¢ Alternatives
ā¢ etc
Injectors for harvesting the system and building the models
ā collection of injectors
42. 42
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Ingredients 2/3
Modeling language for the maintainer scripts
ā scripts are written in POSIX languages whose semantics is far from being
simple, although
ā maintainer scripts does not harness the full expressivity of such languages
(template-based āmacro-languageā)
Maintainer scripts as
models
ā which semantics ?
43. 43
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Ingredients 3/3
Transformational semantics for simulating the behavior of the
maintainer scripts on the system Ā«snapshotĀ»
ā M2M transformations obtained by Ā«compilingĀ» the maintainer scripts into ATL
(ATLAS Transformation Language)
Fault detector, a general mechanism for performing queries over the
Ā«snapshotĀ» for digging the model and search for inconsistencies
44. 44
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Configuration 1
Ā«snapshotĀ» 1
Configuration 2
?
Ā«snapshotĀ» 2
system injection
package injection
M2M
transformationM2M transformation
Enhancing meta-installer through MDE
45. 45
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Overall architecture
ā the simulator is used to
predict the effect of
maintainer script
executions (deploy-time
failures)
ā the fault detector is used
to deal with undetected
failures
R. Di Cosmo, D. Di Ruscio, P. Pelliccione, A. Pierantonio, S. Zacchiroli. Supporting Software Evolution in Component-Based FOSS Systems (2011), in Science of Computer Programming
76:12(1144-1160)
Davide Di Ruscio and Patrizio Pelliccione, Simulating upgrades of complex systems: the case of Free and Open Source Software (2014), in: Information and Software Technology, 56:4(438-
462)
DEMO
46. 46
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Fault detector architecture
-Libraries (.jar files) and OCL queries
-Catalogue of faults
-Catalogue of solutions
Web Portal
FD-Server
EVOSS Server
User machine
FD-Client
User
Davide Di Ruscio and Patrizio Pelliccione, A model-driven approach to detect faults in FOSS systems (2015), in: Journal of Software: Evolution and Process - John
Wiley & Sons, Ltd, 27:4(294-318)
DEMO
47. 47
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Use of MDE to Analyse Open Source Software
- Upgrade simulation
- Fault detection
- Open source project comparison
- Development of new software systems by
relying on existing open source components
- Unmanned classification of available artifacts
48. 48
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Context
Related activities
- Searching for candidate components
- Evaluating a set of retrieved candidate components to find the most suitable one
- Understanding how to use the selected components
- Monitoring the selected components
Development of new software systems
by reusing existing open source components
49. 49
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Context
Related activities
- Searching for candidate components
- Evaluating a set of retrieved candidate components to find the most suitable one
- Understanding how to use the selected components
- Monitoring the selected components
Development of new software systems
by reusing existing open source components
50. 50
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Selecting and Using OSS components
Challenging tasks
- assessing quality, maturity, activity
of development and user support
is not a straightforward process
Different and heterogeneous
source of information
- e.g., code repositories,
communication channels, bug
tracking systems
Source code
Q&A systems
Bug Reports
API
Documentation
Tutorials
Configuration
Management Systems
51. 51
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Analysis of OSS projects in OSSMETER
OSS
Project
Communication channel
(Newsgroup/forum/
mailing list)
Source Code
Repository
Bug Tracking
System
OSS Forge
Metadata
52. 52
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Analysis of OSS projects in OSSMETER
Dealing with heterogeneous sources
54. 54
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Analysis of OSS projects in OSSMETER
55. 55
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Presentation
Wealth of data to present
ā Needs to be user-friendly / digestible
Presentation driven by the quality model
56. 56
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
The default OSSMETER quality model
57. 57
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
The OSSMETER quality metamodel
Francesco Basciani, Juri Di Rocco, Davide Di Ruscio, Ludovico Iovino and Alfonso Pierantonio, A Customizable Approach for the Automated Quality
Assessment of Modelling Artefacts, in: 10th International Conference on the Quality of Information and Communications Technology (QUATIC 2016),
Lisbon, Portugal, IEEE CPS, 2016
61. 61
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Context
Related activities
- Searching for candidate components
- Evaluating a set of retrieved candidate components to find the most suitable one
- Understanding how to use the selected components
- Monitoring the selected components
Development of new software systems
by reusing existing open source components
62. 62
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Source code
Q&A systems
Bug Reports
API
Documentation
Tutorials
Configuration
Management Systems
63. 63
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
CROSSMINER: high-level view
Data Preprocessing Capturing Context
Producing
Recommendations
Presenting
Recommendations
64. 64
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Mining and Analysis Tools
CROSSMINER: high-level view
Data Preprocessing Capturing Context
Producing
Recommendations
Presenting
Recommendations
Knowledge Base
Source Code
Miner
NLP
Miner
Configuration
Miner
Cross project
Analysis
OSS forges
Source Code
Natural
language
channels
Configuration
Scripts
lookup/store
mine
65. 65
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
CROSSMINER: high-level view
Data Preprocessing Capturing Context
Producing
Recommendations
Presenting
Recommendations
Developer
IDE
Knowledge Base
query
recommendations
Data
Storage
Real-time recommendations that serve productivity and quality increase
66. 66
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
CROSSMINER: high-level view
Use of machine learning algorithms to produce recommendations
during development
Example of recommendations:
- Similar projects
- API documentations
- Q&A posts that can help developer to use selected libraries
- Additional libraries that should be included
- ā¦
67. 67
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Example: recommending similar projects
1. Represent project
dependencies on
graphs
2. Calculate graph
similarity, which
helps consider also
indirect connections
3. Similarity can be
computed for
different artifacts
68. 68
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Use of MDE for analysing open source software
- Upgrade simulation
- Fault detection
- Open source project comparison
- Development of new software systems by
relying on existing open source components
- Unmanned classification of available artifacts
- Assessing the quality of modelling artefacts
69. 69
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Model repositories in MDE
The beneļ¬ts related to the adoption of model repositories have been
acknowledged in the MDE community
ā¢ In the past decade several model repositories have been introduced
70. 70
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Model repositories classification
Flat repositories
- No categorization
- Searching and browsing not available
- Manual inspection
Manually classified repositories without searching and browsing functionalities
- Attributes include short description
- List of domains
Manually classified repositories with searching and browsing functionalities
- Manually classified (predefined set of labels)
- Searching and browsing available
71. 71
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Model repositories classification
Flat repositories
- No categorization
- Searching and browsing not available
- Manual inspection
Manually classified repositories without searching and browsing functionalities
- Attributes include short description
- List of domains
Manually classified repositories with searching and browsing functionalities
- Manually classified (predefined set of labels)
- Searching and browsing available
72. 72
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Models in GitHub
73. 73
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Model repositories classification
Flat repositories
- No categorization
- Searching and browsing not available
- Manual inspection
Manually classified repositories without searching and browsing functionalities
- Attributes include short description
- List of domains
Manually classified repositories with searching and browsing functionalities
- Manually classified (predefined set of labels)
- Searching and browsing available
74. 74
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
EMF Zoo
75. 75
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Model repositories classification
Flat repositories
- No categorization
- Searching and browsing not available
- Manual inspection
Manually classified repositories without searching and browsing functionalities
- Attributes include short description
- List of domains
Manually classified repositories with searching and browsing functionalities
- Manually classified (predefined set of labels)
- Searching and browsing available
76. 76
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
ReMoDD
77. 77
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
MDEForge
ā¢ Community-based repository of modeling artifacts
ā¢ It enables the adoption of model management tools as software as
a service
ā¢ It is modular and extensible
ā¢ It supports advanced mechanisms to query the repository and find
the required modeling artifacts
http://www.mdeforge.org/
Juri Di Rocco, Davide Di Ruscio, Ludovico Iovino and Alfonso Pierantonio, Collaborative Repositories in Model-Driven Engineering (2015), in: IEEE Software,
32:3(28-34)
78. 78
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
MDEForge architecture
Core
Repository
WEB
Access
REST API
ModelTransformation Metamodel
Extensions
Metrics
Calculator
Transformation
chain
Users
Clustering
Visualizer
Proximity
Calculator
Clustering
Creator
ā¦
79. 79
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
MDEForge collected artifacts
We imported hundreds of metamodels from various sources
How can we group and classify
the collected artifacts?
80. 80
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Overview of Clustering Techniques
ā¢ Process of organizing objects into groups of similar objects
ā¢ Unsupervised classification
ā¢ Serveral clustering methods:
ā¢ Hierarchical clustering
ā¢ Partitional clustering
ā¢ ā¦
81. 81
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Hierarchical clustering
It produces nested set of groups based on a criterion for merging or
splitting clusters based on similarity
ā¢ Calculated on proximity distance
ā¢ Represented by dendrograms
ā¢ Hierarchical cluster methods: agglomerative, divisive, etc
82. 82
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Clusterization of metamodels
ā¢ Proximity calculator
ā¢ Clustering creator
ā¢ Clustering visualizer
Core
Repository
WEB
Access
REST API
ModelTransformation Metamodel
Extensions
Metrics
Calculator
Transformation
chain
Users
Clustering
Visualizer
Proximity
Calculator
Clustering
Creator
ā¦
83. 83
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Visualization of the identified clusters
Francesco Basciani, Juri Di Rocco, Davide Di Ruscio, Ludovico Iovino and Alfonso Pierantonio, Automated Clustering of Metamodel Repositories, in: 28th International
Conference on Advanced Information Systems Engineering (CAiSE'16), 2016
84. 84
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Use of MDE to Analyse Open Source Software
- Upgrade simulation
- Fault detection
- Open source project comparison
- Development of new software systems by
relying on existing open source components
- Unmanned classification of available artifacts
85. 85
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Concluding remarks
It is possible to use models and model management operations to deal with the
problem of analysing open source software
Identifying the right abstraction layer to work on is one of the most critical task
- both in MANCOOSI and OSSMETER such a task took about 6 months
- it is an iterative process, which has to involve also domain experts
- E.g., in MANCOOSI the elements to be represented in models depend on the kind of faults
to be detected
Maintenance of the developed artifacts (metamodels, transformations,
etc) can be an issue: interdependencies, ripple effects, ā¦
Heterogeneity and scalability are relevant issues to be solved
86. 86
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Take away message
MDE experts have the forma mentis to approach the problem of
analysing open source software in terms of abstractions
Itās an interdisciplinary problem that bring
together several fields including statistical data
analysis, machine learning, information
retrieval, etc.
87. 87
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Use of MDE to Analyse Open Source Software
- Upgrade simulation
- Fault detection
- Open source project comparison
- Development of new software systems by
relying on existing open source components
- Unmanned classification of available artifacts
88. 88
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Additional links
http://www.mancoosi.org
http://evoss.di.univaq.it
http://www.ossmeter.org
http://www.crossminer.org
http://www.mdeforge.org