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

PPTX
Engaging Tech Students Past Traditional Hands On
PDF
Innovate2014 ea 1833
PPTX
GEETHAhshansbbsbsbhshnsnsn_INTERNSHIP.pptx
PDF
The 3 pillars of agile integration: Container, Connector and API
PPTX
Energy Central Webinar on June 14, 2016
PDF
1802_Crossminer_OCF2018
PDF
thesis_jinxing_lin
PDF
Case Study: Increasing Produban's Critical Systems Availability and Performance
Engaging Tech Students Past Traditional Hands On
Innovate2014 ea 1833
GEETHAhshansbbsbsbhshnsnsn_INTERNSHIP.pptx
The 3 pillars of agile integration: Container, Connector and API
Energy Central Webinar on June 14, 2016
1802_Crossminer_OCF2018
thesis_jinxing_lin
Case Study: Increasing Produban's Critical Systems Availability and Performance

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

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

More from Davide Ruscio (12)

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

Recently uploaded (20)

PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPT
introduction to datamining and warehousing
PPTX
Construction Project Organization Group 2.pptx
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PPTX
bas. eng. economics group 4 presentation 1.pptx
PDF
composite construction of structures.pdf
PPTX
UNIT 4 Total Quality Management .pptx
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PDF
Well-logging-methods_new................
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPT
Mechanical Engineering MATERIALS Selection
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
introduction to datamining and warehousing
Construction Project Organization Group 2.pptx
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
bas. eng. economics group 4 presentation 1.pptx
composite construction of structures.pdf
UNIT 4 Total Quality Management .pptx
Automation-in-Manufacturing-Chapter-Introduction.pdf
Well-logging-methods_new................
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
CYBER-CRIMES AND SECURITY A guide to understanding
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Mechanical Engineering MATERIALS Selection
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
CH1 Production IntroductoryConcepts.pptx
UNIT-1 - COAL BASED THERMAL POWER PLANTS
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks

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