SlideShare a Scribd company logo
1 of 88
Download to read offline
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 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
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 demystifiedMarc 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 StudySofia 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 applicationsDanny Gaethofs
Ā 
Smart Traffic Monitoring System Report
Smart Traffic Monitoring System ReportSmart Traffic Monitoring System Report
Smart Traffic Monitoring System ReportALi Baker
Ā 
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 LEARNINGIRJET Journal
Ā 
Project definition workshop #disummit 2019
Project definition workshop #disummit 2019Project definition workshop #disummit 2019
Project definition workshop #disummit 2019Python Predictions
Ā 
IBM Think Milano
IBM Think MilanoIBM Think Milano
IBM Think MilanoATMOSPHERE .
Ā 
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-RomagnaConfindustria 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 portalSandeep 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 OrganizationsEllen 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 2018Lora 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 clusteringDavide 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 activitiesDavide 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 PatternsDavide 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 projectsDavide Ruscio
Ā 
Consistency Recovery in Interactive Modeling
Consistency Recovery in Interactive ModelingConsistency Recovery in Interactive Modeling
Consistency Recovery in Interactive ModelingDavide 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 refactoringsDavide 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 compareDavide 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 StudyDavide 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 platformDavide 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

complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
Ā 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
Ā 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
Ā 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
Ā 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
Ā 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
Ā 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
Ā 
EduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIEduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIkoyaldeepu123
Ā 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
Ā 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
Ā 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
Ā 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
Ā 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
Ā 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
Ā 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
Ā 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
Ā 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
Ā 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
Ā 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
Ā 

Recently uploaded (20)

complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
Ā 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
Ā 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
Ā 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
Ā 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
Ā 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
Ā 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
Ā 
EduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIEduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AI
Ā 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
Ā 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
Ā 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
Ā 
young call girls in Green ParkšŸ” 9953056974 šŸ” escort Service
young call girls in Green ParkšŸ” 9953056974 šŸ” escort Serviceyoung call girls in Green ParkšŸ” 9953056974 šŸ” escort Service
young call girls in Green ParkšŸ” 9953056974 šŸ” escort Service
Ā 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
Ā 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
Ā 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
Ā 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
Ā 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
Ā 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Ā 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
Ā 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Ā 

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 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