SlideShare a Scribd company logo
http://www.di.univaq.it/diruscio/
davide.diruscio@univaq.it
@ddiruscio
Dipartimento di Ingegneria e Scienze
Università degli Studi dell’Aquila
dell’Informazione e Matematica
MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Use of MDE to Analyse
Open Source Software
Davide Di Ruscio
2
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Use of MDE to Analyse Open Source Software
Outline
3
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Use of MDE to Analyse Open Source Software
Outline
4
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
https://www.merriam-webster.com/dictionary/analysis
5
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
http://www.dictionary.com/browse/analytics
6
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Understanding complex problems
7
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Understanding complex problems
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
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
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
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Use of MDE to Analyse Open Source Software
Outline
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
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
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
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Use of MDE to Analyse Open Source Software
Outline
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
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
Model-Driven Engineering
=
Abstraction + Automation + Analysis
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
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
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
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
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
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
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
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!
Problem: upgrade failures
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
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
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Sample Scenario
31
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Sample Scenario
32
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Sample Scenario
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
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
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Sample Scenario
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
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
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
Dealing with upgrade failures:
Abstracting and analyzing the system
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
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
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
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
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
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
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
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
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
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
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
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
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Analysis of OSS projects in OSSMETER
Dealing with heterogeneous sources
53
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
54
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Analysis of OSS projects in OSSMETER
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
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
The default OSSMETER quality model
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
58
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
59
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
CROSSMINER aims at
doing more
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
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
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
CROSSMINER: high-level view
Data Preprocessing Capturing Context
Producing
Recommendations
Presenting
Recommendations
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
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
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
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
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
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Model repositories in MDE
The benefits 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
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
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
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
Models in GitHub
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
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
EMF Zoo
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
Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
ReMoDD
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
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
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
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
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
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
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
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
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
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
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
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

More Related Content

Similar to Use of MDE to Analyse Open Source Software

Analytics demystified
Analytics demystifiedAnalytics demystified
Analytics demystified
Marc Moreau
 
Emerging engineering issues for building large scale AI systems By Srinivas P...
Emerging engineering issues for building large scale AI systems By Srinivas P...Emerging engineering issues for building large scale AI systems By Srinivas P...
Emerging engineering issues for building large scale AI systems By Srinivas P...
Analytics India Magazine
 
Benchmarking for Big Data Applications with the DataBench Framework, Arne Ber...
Benchmarking for Big Data Applications with the DataBench Framework, Arne Ber...Benchmarking for Big Data Applications with the DataBench Framework, Arne Ber...
Benchmarking for Big Data Applications with the DataBench Framework, Arne Ber...
DataBench
 
Software Architecture Evaluation: A Systematic Mapping Study
Software Architecture Evaluation: A Systematic Mapping StudySoftware Architecture Evaluation: A Systematic Mapping Study
Software Architecture Evaluation: A Systematic Mapping Study
Sofia Ouhbi
 
Simpda 2014 - A living story: measuring quality of developments in a large in...
Simpda 2014 - A living story: measuring quality of developments in a large in...Simpda 2014 - A living story: measuring quality of developments in a large in...
Simpda 2014 - A living story: measuring quality of developments in a large in...
SpagoWorld
 
Varied encounters with data science (slide share)
Varied encounters with data science (slide share)Varied encounters with data science (slide share)
Varied encounters with data science (slide share)
gilbert.peffer
 
Danga process driven applications
Danga process driven applicationsDanga process driven applications
Danga process driven applications
Danny Gaethofs
 
Smart Traffic Monitoring System Report
Smart Traffic Monitoring System ReportSmart Traffic Monitoring System Report
Smart Traffic Monitoring System Report
ALi Baker
 
Resume
ResumeResume
Resume
Tushar Gupta
 
COVID-19 CASES PREDICTION USING MACHINE LEARNING
COVID-19 CASES PREDICTION USING MACHINE LEARNINGCOVID-19 CASES PREDICTION USING MACHINE LEARNING
COVID-19 CASES PREDICTION USING MACHINE LEARNING
IRJET Journal
 
Granular or holistic approaches 210126 Alejandra Ruiz
Granular or holistic approaches 210126 Alejandra RuizGranular or holistic approaches 210126 Alejandra Ruiz
Granular or holistic approaches 210126 Alejandra Ruiz
Privacy Data Protection for Engineering
 
Project definition workshop #disummit 2019
Project definition workshop #disummit 2019Project definition workshop #disummit 2019
Project definition workshop #disummit 2019
Python Predictions
 
EUBraBIGSEA Project
EUBraBIGSEA Project EUBraBIGSEA Project
EUBraBIGSEA Project
EUBrasilCloudFORUM .
 
IBM Think Milano
IBM Think MilanoIBM Think Milano
IBM Think Milano
ATMOSPHERE .
 
Action Plan motion solutions industry - Digital Innovation Hub Emilia-Romagna
Action Plan motion solutions industry - Digital Innovation Hub Emilia-RomagnaAction Plan motion solutions industry - Digital Innovation Hub Emilia-Romagna
Action Plan motion solutions industry - Digital Innovation Hub Emilia-Romagna
Confindustria Emilia-Romagna Ricerca
 
Decision Making Framework in e-Business Cloud Environment Using Software Metr...
Decision Making Framework in e-Business Cloud Environment Using Software Metr...Decision Making Framework in e-Business Cloud Environment Using Software Metr...
Decision Making Framework in e-Business Cloud Environment Using Software Metr...
ijitjournal
 
Drupal content management system (cms) based e commerce portal
Drupal content management system (cms) based e commerce portalDrupal content management system (cms) based e commerce portal
Drupal content management system (cms) based e commerce portal
Sandeep Kumbhar
 
Stracker analysis-tool& Metric forecasting in Softeam
Stracker analysis-tool& Metric forecasting in Softeam Stracker analysis-tool& Metric forecasting in Softeam
Stracker analysis-tool& Metric forecasting in Softeam
Alessandra Bagnato
 
DataOps: An Agile Method for Data-Driven Organizations
DataOps: An Agile Method for Data-Driven OrganizationsDataOps: An Agile Method for Data-Driven Organizations
DataOps: An Agile Method for Data-Driven Organizations
Ellen Friedman
 
Mars Presentation at the Supply Chain Insights Global Summit 2018
Mars Presentation at the Supply Chain Insights Global Summit 2018Mars Presentation at the Supply Chain Insights Global Summit 2018
Mars Presentation at the Supply Chain Insights Global Summit 2018
Lora Cecere
 

Similar to Use of MDE to Analyse Open Source Software (20)

Analytics demystified
Analytics demystifiedAnalytics demystified
Analytics demystified
 
Emerging engineering issues for building large scale AI systems By Srinivas P...
Emerging engineering issues for building large scale AI systems By Srinivas P...Emerging engineering issues for building large scale AI systems By Srinivas P...
Emerging engineering issues for building large scale AI systems By Srinivas P...
 
Benchmarking for Big Data Applications with the DataBench Framework, Arne Ber...
Benchmarking for Big Data Applications with the DataBench Framework, Arne Ber...Benchmarking for Big Data Applications with the DataBench Framework, Arne Ber...
Benchmarking for Big Data Applications with the DataBench Framework, Arne Ber...
 
Software Architecture Evaluation: A Systematic Mapping Study
Software Architecture Evaluation: A Systematic Mapping StudySoftware Architecture Evaluation: A Systematic Mapping Study
Software Architecture Evaluation: A Systematic Mapping Study
 
Simpda 2014 - A living story: measuring quality of developments in a large in...
Simpda 2014 - A living story: measuring quality of developments in a large in...Simpda 2014 - A living story: measuring quality of developments in a large in...
Simpda 2014 - A living story: measuring quality of developments in a large in...
 
Varied encounters with data science (slide share)
Varied encounters with data science (slide share)Varied encounters with data science (slide share)
Varied encounters with data science (slide share)
 
Danga process driven applications
Danga process driven applicationsDanga process driven applications
Danga process driven applications
 
Smart Traffic Monitoring System Report
Smart Traffic Monitoring System ReportSmart Traffic Monitoring System Report
Smart Traffic Monitoring System Report
 
Resume
ResumeResume
Resume
 
COVID-19 CASES PREDICTION USING MACHINE LEARNING
COVID-19 CASES PREDICTION USING MACHINE LEARNINGCOVID-19 CASES PREDICTION USING MACHINE LEARNING
COVID-19 CASES PREDICTION USING MACHINE LEARNING
 
Granular or holistic approaches 210126 Alejandra Ruiz
Granular or holistic approaches 210126 Alejandra RuizGranular or holistic approaches 210126 Alejandra Ruiz
Granular or holistic approaches 210126 Alejandra Ruiz
 
Project definition workshop #disummit 2019
Project definition workshop #disummit 2019Project definition workshop #disummit 2019
Project definition workshop #disummit 2019
 
EUBraBIGSEA Project
EUBraBIGSEA Project EUBraBIGSEA Project
EUBraBIGSEA Project
 
IBM Think Milano
IBM Think MilanoIBM Think Milano
IBM Think Milano
 
Action Plan motion solutions industry - Digital Innovation Hub Emilia-Romagna
Action Plan motion solutions industry - Digital Innovation Hub Emilia-RomagnaAction Plan motion solutions industry - Digital Innovation Hub Emilia-Romagna
Action Plan motion solutions industry - Digital Innovation Hub Emilia-Romagna
 
Decision Making Framework in e-Business Cloud Environment Using Software Metr...
Decision Making Framework in e-Business Cloud Environment Using Software Metr...Decision Making Framework in e-Business Cloud Environment Using Software Metr...
Decision Making Framework in e-Business Cloud Environment Using Software Metr...
 
Drupal content management system (cms) based e commerce portal
Drupal content management system (cms) based e commerce portalDrupal content management system (cms) based e commerce portal
Drupal content management system (cms) based e commerce portal
 
Stracker analysis-tool& Metric forecasting in Softeam
Stracker analysis-tool& Metric forecasting in Softeam Stracker analysis-tool& Metric forecasting in Softeam
Stracker analysis-tool& Metric forecasting in Softeam
 
DataOps: An Agile Method for Data-Driven Organizations
DataOps: An Agile Method for Data-Driven OrganizationsDataOps: An Agile Method for Data-Driven Organizations
DataOps: An Agile Method for Data-Driven Organizations
 
Mars Presentation at the Supply Chain Insights Global Summit 2018
Mars Presentation at the Supply Chain Insights Global Summit 2018Mars Presentation at the Supply Chain Insights Global Summit 2018
Mars Presentation at the Supply Chain Insights Global Summit 2018
 

More from Davide Ruscio

Developing recommendation systems to support open source software developers ...
Developing recommendation systems to support open source software developers ...Developing recommendation systems to support open source software developers ...
Developing recommendation systems to support open source software developers ...
Davide Ruscio
 
Detecting java software similarities by using different clustering
Detecting java software similarities by using different clusteringDetecting java software similarities by using different clustering
Detecting java software similarities by using different clustering
Davide Ruscio
 
On the way of listening to the crowd for supporting modeling activities
On the way of listening to the crowd for supporting modeling activitiesOn the way of listening to the crowd for supporting modeling activities
On the way of listening to the crowd for supporting modeling activities
Davide Ruscio
 
FOCUS: A Recommender System for Mining API Function Calls and Usage Patterns
FOCUS:  A Recommender System for Mining API Function Calls and  Usage PatternsFOCUS:  A Recommender System for Mining API Function Calls and  Usage Patterns
FOCUS: A Recommender System for Mining API Function Calls and Usage Patterns
Davide Ruscio
 
CrossSim: exploiting mutual relationships to detect similar OSS projects
CrossSim: exploiting mutual relationships to detect similar OSS projectsCrossSim: exploiting mutual relationships to detect similar OSS projects
CrossSim: exploiting mutual relationships to detect similar OSS projects
Davide Ruscio
 
Consistency Recovery in Interactive Modeling
Consistency Recovery in Interactive ModelingConsistency Recovery in Interactive Modeling
Consistency Recovery in Interactive Modeling
Davide Ruscio
 
Edelta: an approach for defining and applying reusable metamodel refactorings
Edelta: an approach for defining and applying reusable metamodel refactoringsEdelta: an approach for defining and applying reusable metamodel refactorings
Edelta: an approach for defining and applying reusable metamodel refactorings
Davide Ruscio
 
Semantic based model matching with emf compare
Semantic based model matching with emf compareSemantic based model matching with emf compare
Semantic based model matching with emf compare
Davide Ruscio
 
Collaborative model driven software engineering: a Systematic Mapping Study
Collaborative model driven software engineering: a Systematic Mapping StudyCollaborative model driven software engineering: a Systematic Mapping Study
Collaborative model driven software engineering: a Systematic Mapping Study
Davide Ruscio
 
Model repositories: will they become reality?
Model repositories: will they become reality?Model repositories: will they become reality?
Model repositories: will they become reality?
Davide Ruscio
 
Mining Correlations of ATL Transformation and Metamodel Metrics
Mining Correlations of ATL Transformation and Metamodel MetricsMining Correlations of ATL Transformation and Metamodel Metrics
Mining Correlations of ATL Transformation and Metamodel Metrics
Davide Ruscio
 
MDEForge: an extensible Web-based modeling platform
MDEForge: an extensible Web-based modeling platformMDEForge: an extensible Web-based modeling platform
MDEForge: an extensible Web-based modeling platform
Davide Ruscio
 

More from Davide Ruscio (12)

Developing recommendation systems to support open source software developers ...
Developing recommendation systems to support open source software developers ...Developing recommendation systems to support open source software developers ...
Developing recommendation systems to support open source software developers ...
 
Detecting java software similarities by using different clustering
Detecting java software similarities by using different clusteringDetecting java software similarities by using different clustering
Detecting java software similarities by using different clustering
 
On the way of listening to the crowd for supporting modeling activities
On the way of listening to the crowd for supporting modeling activitiesOn the way of listening to the crowd for supporting modeling activities
On the way of listening to the crowd for supporting modeling activities
 
FOCUS: A Recommender System for Mining API Function Calls and Usage Patterns
FOCUS:  A Recommender System for Mining API Function Calls and  Usage PatternsFOCUS:  A Recommender System for Mining API Function Calls and  Usage Patterns
FOCUS: A Recommender System for Mining API Function Calls and Usage Patterns
 
CrossSim: exploiting mutual relationships to detect similar OSS projects
CrossSim: exploiting mutual relationships to detect similar OSS projectsCrossSim: exploiting mutual relationships to detect similar OSS projects
CrossSim: exploiting mutual relationships to detect similar OSS projects
 
Consistency Recovery in Interactive Modeling
Consistency Recovery in Interactive ModelingConsistency Recovery in Interactive Modeling
Consistency Recovery in Interactive Modeling
 
Edelta: an approach for defining and applying reusable metamodel refactorings
Edelta: an approach for defining and applying reusable metamodel refactoringsEdelta: an approach for defining and applying reusable metamodel refactorings
Edelta: an approach for defining and applying reusable metamodel refactorings
 
Semantic based model matching with emf compare
Semantic based model matching with emf compareSemantic based model matching with emf compare
Semantic based model matching with emf compare
 
Collaborative model driven software engineering: a Systematic Mapping Study
Collaborative model driven software engineering: a Systematic Mapping StudyCollaborative model driven software engineering: a Systematic Mapping Study
Collaborative model driven software engineering: a Systematic Mapping Study
 
Model repositories: will they become reality?
Model repositories: will they become reality?Model repositories: will they become reality?
Model repositories: will they become reality?
 
Mining Correlations of ATL Transformation and Metamodel Metrics
Mining Correlations of ATL Transformation and Metamodel MetricsMining Correlations of ATL Transformation and Metamodel Metrics
Mining Correlations of ATL Transformation and Metamodel Metrics
 
MDEForge: an extensible Web-based modeling platform
MDEForge: an extensible Web-based modeling platformMDEForge: an extensible Web-based modeling platform
MDEForge: an extensible Web-based modeling platform
 

Recently uploaded

Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
Kerry Sado
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
ydteq
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
heavyhaig
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
ChristineTorrepenida1
 
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABSDESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
itech2017
 
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Soumen Santra
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdfTutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
aqil azizi
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
WENKENLI1
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERSCW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
veerababupersonal22
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
Intella Parts
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
SyedAbiiAzazi1
 

Recently uploaded (20)

Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
 
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABSDESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
 
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdfTutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERSCW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
 

Use of MDE to Analyse Open Source Software

  • 1. http://www.di.univaq.it/diruscio/ davide.diruscio@univaq.it @ddiruscio Dipartimento di Ingegneria e Scienze Università degli Studi dell’Aquila dell’Informazione e Matematica MOMA3N 2018 - January 23, 2018, Madeira, Portugal Use of MDE to Analyse Open Source Software Davide Di Ruscio
  • 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
  • 39. Dealing with upgrade failures: Abstracting and analyzing the system
  • 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
  • 53. 53 Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
  • 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
  • 58. 58 Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
  • 59. 59 Model Management And Analytics - MOMA3N 2018 - January 23, 2018, Madeira, Portugal
  • 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 benefits 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