SlideShare ist ein Scribd-Unternehmen logo
1 von 60
Flickr/BenNuttall
An Empirical Study on the Maturity of
the Eclipse Modeling Ecosystem
Javier L. Cánovas Izquierdo, Valerio Cosentino, Jordi Cabot
flickr/Kansasphoto
Motivation
flickr/airpix
Eclipse Ecosystem
Eclipse Ecosystem
Eclipse Ecosystem
vs.
Maturity Model
ISO 25000 ISO 9126
OPM3 CMMI PRINCE
Technology
Readiness
Level
Polarsys
Maturity
Model
McCabe Ayalew et al. …
Maturity Model
ISO 25000 ISO 9126
OPM3 CMMI PRINCE
Technology
Readiness
Level
Polarsys
Maturity
Model
McCabe Ayalew et al. …
Maturity Model
DIMENSION ATTRIBUTE QUESTION Metric ID INF.
Ecosystem
Activity
Developer Activity eco_avg_commits_developer ↗
SCM Activity
eco_num_commits ↗
eco_num_contributors ↗
eco_avg_commits_month ↗
eco_avg_commits_week ↗
eco_avg_commits_last_year ↗
Diversity Developer Activity
eco_ratio_outsiders ↗
eco_ratio_commits_top_committers ↘
eco_ratio_casuals ↗
Product
Analysability
Code Size prod_lines_code ↘
File Types prod_num_extensions ↘
Code Complexity
prod_class_complexity ↘
prod_functions_complexity ↘
prod_file_complexity ↘
Changeability
Code Smells prod_code_smells ↘
File Types (see metrics defined in analysability attribute) -
Code Complexity (see metrics defined in analysability attribute) -
Reliability
Number of Issues prod_open_issues ↘
Code Complexity (see metrics defined in analysability attribute) -
Reusability
Code Documentation prod_comment_density ↗
Technical Debt prod_technical_debt ↘
Research
Questions
flickr/Despeja
Research Questions
Are modeling projects as mature as non-modeling projects?RQ1
Is the incubation status of a project an important factor when comparing
modeling and non-modeling projects?
RQ2
Is the incubation status a valid indicator of the maturity of a modeling
project?
RQ3
Research Questions
Are modeling projects as mature as non-modeling projects?RQ1
Is the incubation status of a project an important factor when comparing
modeling and non-modeling projects?
RQ2
Is the incubation status a valid indicator of the maturity of a modeling
project?
RQ3
PROJECT TYPE
PROJECTSTATUS
Research Questions
Are modeling projects as mature as non-modeling projects?RQ1
Is the incubation status of a project an important factor when comparing
modeling and non-modeling projects?
RQ2
Is the incubation status a valid indicator of the maturity of a modeling
project?
RQ3
Building
the Dataset
&
Calculating
Metrics
flickr/Clement127
Dataset Construction
Metric Calculation
Building the dataset
Building the dataset
Building the dataset
INPUT DISCARDED OUTPUT
PROJECTS REPOS PROJECTS REPOS PROJECTS REPOS
WEB SCRAPING 216 1,710
FILTERING 216 1,710 49 1,361 167 349
CLONING 167 349 22 28 145 321
IMPORT 145 321 0 0 145 321
SQL-BASED 145 321 0 0 145 321
SONARQUBE-BASED 145 321 9 47 136 274
FINAL 136 274
Building the dataset
INPUT DISCARDED OUTPUT
PROJECTS REPOS PROJECTS REPOS PROJECTS REPOS
WEB SCRAPING 216 1,710
FILTERING 216 1,710 49 1,361 167 349
CLONING 167 349 22 28 145 321
IMPORT 145 321 0 0 145 321
SQL-BASED 145 321 0 0 145 321
SONARQUBE-BASED 145 321 9 47 136 274
FINAL 136 274
Inactive repositories
Companion repositories
eclipse.org
gerrit
Building the dataset
INPUT DISCARDED OUTPUT
PROJECTS REPOS PROJECTS REPOS PROJECTS REPOS
WEB SCRAPING 216 1,710
FILTERING 216 1,710 49 1,361 167 349
CLONING 167 349 22 28 145 321
IMPORT 145 321 0 0 145 321
SQL-BASED 145 321 0 0 145 321
SONARQUBE-BASED 145 321 9 47 136 274
FINAL 136 274
DECEMBER 2016
M T W T F S S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Building the dataset
INPUT DISCARDED OUTPUT
PROJECTS REPOS PROJECTS REPOS PROJECTS REPOS
WEB SCRAPING 216 1,710
FILTERING 216 1,710 49 1,361 167 349
CLONING 167 349 22 28 145 321
IMPORT 145 321 0 0 145 321
SQL-BASED 145 321 0 0 145 321
SONARQUBE-BASED 145 321 9 47 136 274
FINAL 136 274 master
Gitana
https://github.com/
SOM-Research/gitana
Calculating metrics
INPUT DISCARDED OUTPUT
PROJECTS REPOS PROJECTS REPOS PROJECTS REPOS
WEB SCRAPING 216 1,710
FILTERING 216 1,710 49 1,361 167 349
CLONING 167 349 22 28 145 321
IMPORT 145 321 0 0 145 321
SQL-BASED 145 321 0 0 145 321
SONARQUBE-BASED 145 321 9 47 136 274
FINAL 136 274
Dataset descriptive statistics
Answering our
Research Questions
flickr/AftabUzzaman
Research Questions
Are modeling projects as mature as non-modeling projects?RQ1
Is the incubation status of a project an important factor when comparing
modeling and non-modeling projects
RQ2
Is the incubation status a valid indicator of the maturity of a modeling
Project?
RQ3
PROJECT TYPE
PROJECTSTATUS
RQ1
Are modeling projects as mature as non-
modeling projects?RQ1
M ¬Mvs.
PROJECT TYPE
PROJECTSTATUS
RQ1
Are modeling projects as mature as non-
modeling projects?RQ1
M ¬Mvs.
Our mission:
Assess whether the distributions of a
given metric are different…
Student’s t-test
Behrens-Fisher test
Mann-Whitney-Wilcoxon
for modeling
vs.
non-modeling
RQ1
ECOSYSTEM METRICS
METRIC DIFF. INF.
eco_avg_commits_developer  ↗
eco_num_commits  ↗
eco_num_contributors *** ↗
eco_avg_commits_month  ↗
eco_avg_commits_week  ↗
eco_avg_commits_last_year  ↗
eco_ratio_outsiders  ↗
eco_ratio_commits_top_committers  ↘
eco_ratio_casuals ** ↗
PRODUCT METRICS
prod_lines_code - ↘
prod_num_extensions ** ↘
prod_class_complexity  ↘
prod_functions_complexity  ↘
prod_file_complexity  ↘
prod_code_smells  ↘
prod_open_issues  ↘
prod_comment_density *** ↗
prod_technical_debt * ↘
RQ1
ECOSYSTEM METRICS
METRIC DIFF. INF.
eco_avg_commits_developer  ↗
eco_num_commits  ↗
eco_num_contributors *** ↗
eco_avg_commits_month  ↗
eco_avg_commits_week  ↗
eco_avg_commits_last_year  ↗
eco_ratio_outsiders  ↗
eco_ratio_commits_top_committers  ↘
eco_ratio_casuals ** ↗
PRODUCT METRICS
prod_lines_code - ↘
prod_num_extensions ** ↘
prod_class_complexity  ↘
prod_functions_complexity  ↘
prod_file_complexity  ↘
prod_code_smells  ↘
prod_open_issues  ↘
prod_comment_density *** ↗
prod_technical_debt * ↘
RQ1
ECOSYSTEM METRICS
METRIC DIFF. INF.
eco_avg_commits_developer  ↗
eco_num_commits  ↗
eco_num_contributors *** ↗
eco_avg_commits_month  ↗
eco_avg_commits_week  ↗
eco_avg_commits_last_year  ↗
eco_ratio_outsiders  ↗
eco_ratio_commits_top_committers  ↘
eco_ratio_casuals ** ↗
PRODUCT METRICS
prod_lines_code - ↘
prod_num_extensions ** ↘
prod_class_complexity  ↘
prod_functions_complexity  ↘
prod_file_complexity  ↘
prod_code_smells  ↘
prod_open_issues  ↘
prod_comment_density *** ↗
prod_technical_debt * ↘
RQ1
Are modeling projects as mature as
non-modeling projects?
RQ1
ECOSYSTEM METRICS
METRIC DIFF. INF.
eco_avg_commits_developer  ↗
eco_num_commits  ↗
eco_num_contributors *** ↗
eco_avg_commits_month  ↗
eco_avg_commits_week  ↗
eco_avg_commits_last_year  ↗
eco_ratio_outsiders  ↗
eco_ratio_commits_top_committers  ↘
eco_ratio_casuals ** ↗
PRODUCT METRICS
prod_lines_code - ↘
prod_num_extensions ** ↘
prod_class_complexity  ↘
prod_functions_complexity  ↘
prod_file_complexity  ↘
prod_code_smells  ↘
prod_open_issues  ↘
prod_comment_density *** ↗
prod_technical_debt * ↘
Some metrics present significant differences in
their distribution
Modeling projects achieve lower maturity
levels than non-modeling ones but that the
overall difference is small.
Research Questions
Are modeling projects as mature as non-modeling projects?RQ1
Is the incubation status of a project an important factor when comparing
modeling and non-modeling projects?
RQ2
Is the incubation status a valid indicator of the maturity of a modeling
Project?
RQ3
PROJECT TYPE
PROJECTSTATUS
RQ2
Is the incubation status of a project an
important factor when comparing modeling
and non-modeling projects?
RQ2
MI
M¬I
¬MI
¬M¬Ivs.
vs.
PROJECT TYPE
PROJECTSTATUS
RQ2
Is the incubation status of a project an
important factor when comparing modeling
and non-modeling projects?
RQ2
MI
M¬I
¬MI
¬M¬Ivs.
vs.
Our mission:
Assess whether the distributions of a
given metric are different…
ANOVA
T
for modeling vs.
non-modeling
&
incubation vs.
non-incubation
~
RQ2
ECOSYSTEM METRICS
METRIC MI vs. ¬MI M¬I vs. ¬M¬I INF.
eco_avg_commits_developer   ↗
eco_num_commits   ↗
eco_num_contributors  ** ↗
eco_avg_commits_month   ↗
eco_avg_commits_week   ↗
eco_avg_commits_last_year   ↗
eco_ratio_outsiders - - ↗
eco_ratio_commits_top_committers   ↘
eco_ratio_casuals  * ↗
PRODUCT METRICS
prod_lines_code ***  ↘
prod_num_extensions ***  ↘
prod_class_complexity - - ↘
prod_functions_complexity - - ↘
prod_file_complexity - - ↘
prod_code_smells ***  ↘
prod_open_issues ***  ↘
prod_comment_density *** *** ↗
prod_technical_debt *  ↘
RQ2
ECOSYSTEM METRICS
METRIC MI vs. ¬MI M¬I vs. ¬M¬I INF.
eco_avg_commits_developer   ↗
eco_num_commits   ↗
eco_num_contributors  ** ↗
eco_avg_commits_month   ↗
eco_avg_commits_week   ↗
eco_avg_commits_last_year   ↗
eco_ratio_outsiders - - ↗
eco_ratio_commits_top_committers   ↘
eco_ratio_casuals  * ↗
PRODUCT METRICS
prod_lines_code ***  ↘
prod_num_extensions ***  ↘
prod_class_complexity - - ↘
prod_functions_complexity - - ↘
prod_file_complexity - - ↘
prod_code_smells ***  ↘
prod_open_issues ***  ↘
prod_comment_density *** *** ↗
prod_technical_debt *  ↘
RQ2
ECOSYSTEM METRICS
METRIC MI vs. ¬MI M¬I vs. ¬M¬I INF.
eco_avg_commits_developer   ↗
eco_num_commits   ↗
eco_num_contributors  ** ↗
eco_avg_commits_month   ↗
eco_avg_commits_week   ↗
eco_avg_commits_last_year   ↗
eco_ratio_outsiders - - ↗
eco_ratio_commits_top_committers   ↘
eco_ratio_casuals  * ↗
PRODUCT METRICS
prod_lines_code ***  ↘
prod_num_extensions ***  ↘
prod_class_complexity - - ↘
prod_functions_complexity - - ↘
prod_file_complexity - - ↘
prod_code_smells ***  ↘
prod_open_issues ***  ↘
prod_comment_density *** *** ↗
prod_technical_debt *  ↘
RQ2
Is the incubation status of a
project an important factor
when comparing modeling and
non-modeling projects?
RQ2
Numerous significant differences in product
metrics between modeling and non-modeling
projects when they are incubation ones
Differences fade down once the projects
leave the incubation status
The incubation status of a project affects the
maturity comparison between modeling and
non-modeling projects
ECOSYSTEM METRICS
METRIC MI vs. ¬MI M¬I vs. ¬M¬I INF.
eco_avg_commits_developer   ↗
eco_num_commits   ↗
eco_num_contributors  ** ↗
eco_avg_commits_month   ↗
eco_avg_commits_week   ↗
eco_avg_commits_last_year   ↗
eco_ratio_outsiders - - ↗
eco_ratio_commits_top_committers   ↘
eco_ratio_casuals  * ↗
PRODUCT METRICS
prod_lines_code ***  ↘
prod_num_extensions ***  ↘
prod_class_complexity - - ↘
prod_functions_complexity - - ↘
prod_file_complexity - - ↘
prod_code_smells ***  ↘
prod_open_issues ***  ↘
prod_comment_density *** *** ↗
prod_technical_debt *  ↘
Research Questions
Are modeling projects as mature as non-modeling projects?RQ1
Is the incubation status of a project an important factor when comparing
modeling and non-modeling projects
RQ2
Is the incubation status a valid indicator of the maturity of a modeling
project?
RQ3
PROJECT TYPE
PROJECTSTATUS
Project type and status
Is the incubation status a valid indicator of
the maturity of a modeling project?RQ3
MI
M¬I
vs.
Our mission:
Assess whether the distributions of a
given metric are different…
ANOVA
T
for modeling vs.
non-modeling
&
incubation vs.
non-incubation
~
RQ3
ECOSYSTEM METRICS
METRIC M¬I vs. MI ¬M¬I vs. ¬MI INF.
eco_avg_commits_developer  * ↗
eco_num_commits  ** ↗
eco_num_contributors ** *** ↗
eco_avg_commits_month  *** ↗
eco_avg_commits_week  ** ↗
eco_avg_commits_last_year  *** ↗
eco_ratio_outsiders - - ↗
eco_ratio_commits_top_committers  *** ↘
eco_ratio_casuals  *** ↗
PRODUCT METRICS
prod_lines_code  *** ↘
prod_num_extensions  *** ↘
prod_class_complexity - - ↘
prod_functions_complexity - - ↘
prod_file_complexity - - ↘
prod_code_smells  *** ↘
prod_open_issues  *** ↘
prod_comment_density   ↗
prod_technical_debt   ↘
RQ3
ECOSYSTEM METRICS
METRIC M¬I vs. MI ¬M¬I vs. ¬MI INF.
eco_avg_commits_developer  * ↗
eco_num_commits  ** ↗
eco_num_contributors ** *** ↗
eco_avg_commits_month  *** ↗
eco_avg_commits_week  ** ↗
eco_avg_commits_last_year  *** ↗
eco_ratio_outsiders - - ↗
eco_ratio_commits_top_committers  *** ↘
eco_ratio_casuals  *** ↗
PRODUCT METRICS
prod_lines_code  *** ↘
prod_num_extensions  *** ↘
prod_class_complexity - - ↘
prod_functions_complexity - - ↘
prod_file_complexity - - ↘
prod_code_smells  *** ↘
prod_open_issues  *** ↘
prod_comment_density   ↗
prod_technical_debt   ↘
RQ3
ECOSYSTEM METRICS
METRIC M¬I vs. MI ¬M¬I vs. ¬MI INF.
eco_avg_commits_developer  * ↗
eco_num_commits  ** ↗
eco_num_contributors ** *** ↗
eco_avg_commits_month  *** ↗
eco_avg_commits_week  ** ↗
eco_avg_commits_last_year  *** ↗
eco_ratio_outsiders - - ↗
eco_ratio_commits_top_committers  *** ↘
eco_ratio_casuals  *** ↗
PRODUCT METRICS
prod_lines_code  *** ↘
prod_num_extensions  *** ↘
prod_class_complexity - - ↘
prod_functions_complexity - - ↘
prod_file_complexity - - ↘
prod_code_smells  *** ↘
prod_open_issues  *** ↘
prod_comment_density   ↗
prod_technical_debt   ↘
Is the incubation status a valid
indicator of the maturity of a
modeling Project?
RQ3
No remarkable differences in the metrics for
modeling projects according to its incubation
status
RQ3
ECOSYSTEM METRICS
METRIC M¬I vs. MI ¬M¬I vs. ¬MI INF.
eco_avg_commits_developer  * ↗
eco_num_commits  ** ↗
eco_num_contributors ** *** ↗
eco_avg_commits_month  *** ↗
eco_avg_commits_week  ** ↗
eco_avg_commits_last_year  *** ↗
eco_ratio_outsiders - - ↗
eco_ratio_commits_top_committers  *** ↘
eco_ratio_casuals  *** ↗
PRODUCT METRICS
prod_lines_code  *** ↘
prod_num_extensions  *** ↘
prod_class_complexity - - ↘
prod_functions_complexity - - ↘
prod_file_complexity - - ↘
prod_code_smells  *** ↘
prod_open_issues  *** ↘
prod_comment_density   ↗
prod_technical_debt   ↘
Is the incubation status a valid
indicator of the maturity of a
modeling Project?
RQ3
No remarkable differences in the metrics for
modeling projects according to its incubation
status
RQ3
ECOSYSTEM METRICS
METRIC M¬I vs. MI ¬M¬I vs. ¬MI INF.
eco_avg_commits_developer  * ↗
eco_num_commits  ** ↗
eco_num_contributors ** *** ↗
eco_avg_commits_month  *** ↗
eco_avg_commits_week  ** ↗
eco_avg_commits_last_year  *** ↗
eco_ratio_outsiders - - ↗
eco_ratio_commits_top_committers  *** ↘
eco_ratio_casuals  *** ↗
PRODUCT METRICS
prod_lines_code  *** ↘
prod_num_extensions  *** ↘
prod_class_complexity - - ↘
prod_functions_complexity - - ↘
prod_file_complexity - - ↘
prod_code_smells  *** ↘
prod_open_issues  *** ↘
prod_comment_density   ↗
prod_technical_debt   ↘
Is the incubation status a valid
indicator of the maturity of a
modeling Project?
RQ3
No remarkable differences in the metrics for
modeling projects according to its incubation
status
RQ3
ECOSYSTEM METRICS
METRIC M¬I vs. MI ¬M¬I vs. ¬MI INF.
eco_avg_commits_developer  * ↗
eco_num_commits  ** ↗
eco_num_contributors ** *** ↗
eco_avg_commits_month  *** ↗
eco_avg_commits_week  ** ↗
eco_avg_commits_last_year  *** ↗
eco_ratio_outsiders - - ↗
eco_ratio_commits_top_committers  *** ↘
eco_ratio_casuals  *** ↗
PRODUCT METRICS
prod_lines_code  *** ↘
prod_num_extensions  *** ↘
prod_class_complexity - - ↘
prod_functions_complexity - - ↘
prod_file_complexity - - ↘
prod_code_smells  *** ↘
prod_open_issues  *** ↘
prod_comment_density   ↗
prod_technical_debt   ↘
Is the incubation status a valid
indicator of the maturity of a
modeling Project?
RQ3
No remarkable differences in the metrics for
modeling projects according to its incubation
status
The incubation status makes a difference
only for non-modeling projects
Extensions
flickr/LinusBohman
Extensions
Beyond a Git-centric
Approach
Collaboration as a key
Maturity Dimension
Collaboration Beyond
the Code
Why not consider other
supporting tools?
(e.g., forums, instant messages, etc.)
Pay attention to the community as one
of the cornerstones in Open Source
Let’s combine previous extensions and
analyze collaboration networks
Beyond a Git-centric Approach
Extensions
Beyond a Git-centric
Approach
Collaboration as a key
Maturity Dimension
Collaboration Beyond
the Code
Why not consider other
supporting tools?
(e.g., forums, instant messages, etc.)
Pay attention to the community as one
of the cornerstones in Open Source
Let’s combine previous extensions and
analyze collaboration networks
Collaboration as a Key Maturity Dimension
Extensions
Beyond a Git-centric
Approach
Collaboration as a key
Maturity Dimension
Collaboration Beyond
the Code
Why not consider other
supporting tools?
(e.g., forums, instant messages, etc.)
Pay attention to the community as one
of the cornerstones in Open Source
Let’s combine previous extensions and
analyze collaboration networks
Collaboration Beyond the Code
JDT Papyrus
flickr/woodleywonderworks
Conclusion and Further Work
• First studies on the maturity of modeling tools
• Comparison of over a hundred of modeling and non-modeling Eclipse
projects
• There are differences, though less than expected
• Extensions to increase the scope of our maturity model
What we have shown
Much more research needs to be done to really understand the technical and
social factors that make both families of projects different
wikimedia
Maturity vs. Adoption
flickr/crwr
Vallecillo, A (2014). On the Industrial Adoption of Model Driven Engineering, Is you Company ready for MDE? . International
Journal of Information Systems and Software Engineering for Big Companies (IJISEBC), Vol. 1, Num. 1, pp. 52-68
Maturity vs. Adoption
flickr/crwr
…are they related?
Vallecillo, A (2014). On the Industrial Adoption of Model Driven Engineering, Is you Company ready for MDE? . International
Journal of Information Systems and Software Engineering for Big Companies (IJISEBC), Vol. 1, Num. 1, pp. 52-68
Why modeling has not
succeeded yet?
flickr/TimNorris
Thanks!
Replication Package
http://hdl.handle.net/20.500.12004/1/C/MODELS/2017/218
Javier L. Cánovas Izquierdo
jcanovasi@uoc.edu
@jlcanovas
Valerio Cosentino
vcosentino@uoc.edu
Jordi Cabot
jordi.cabot@icrea.cat
@softmodeling
Modeling projects achieve lower maturity
levels than non-modeling ones but that the
overall difference is small.
RQ1
The incubation status of a project affects the
maturity comparison between modeling and
non-modeling projects
RQ2
The incubation status makes a difference
only for non-modeling projectsRQ3
Take-home messages:

Weitere ähnliche Inhalte

Ähnlich wie An Empirical Study on the Maturity of the Eclipse Modeling Ecosystem

Scientific Software: Sustainability, Skills & Sociology
Scientific Software: Sustainability, Skills & SociologyScientific Software: Sustainability, Skills & Sociology
Scientific Software: Sustainability, Skills & Sociology
Neil Chue Hong
 
Optimizing Spark Deployments for Containers: Isolation, Safety, and Performan...
Optimizing Spark Deployments for Containers: Isolation, Safety, and Performan...Optimizing Spark Deployments for Containers: Isolation, Safety, and Performan...
Optimizing Spark Deployments for Containers: Isolation, Safety, and Performan...
Spark Summit
 
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
Ali Ouni
 

Ähnlich wie An Empirical Study on the Maturity of the Eclipse Modeling Ecosystem (20)

apidays LIVE Paris - Sopra Steria: path to the industrialization of sustaina...
 apidays LIVE Paris - Sopra Steria: path to the industrialization of sustaina... apidays LIVE Paris - Sopra Steria: path to the industrialization of sustaina...
apidays LIVE Paris - Sopra Steria: path to the industrialization of sustaina...
 
Agile in an ANSI-748-C environment
Agile in an ANSI-748-C environmentAgile in an ANSI-748-C environment
Agile in an ANSI-748-C environment
 
Validating Procedural Knowledge in the Open Virtual Collaboration Environment
Validating Procedural Knowledge in the Open Virtual Collaboration EnvironmentValidating Procedural Knowledge in the Open Virtual Collaboration Environment
Validating Procedural Knowledge in the Open Virtual Collaboration Environment
 
Arpan_CV
Arpan_CVArpan_CV
Arpan_CV
 
“MATERIAL AND STRUCTURE OPTIMIZATION AND VALUE ENGINEERING APPLIED TO CAR DOO...
“MATERIAL AND STRUCTURE OPTIMIZATION AND VALUE ENGINEERING APPLIED TO CAR DOO...“MATERIAL AND STRUCTURE OPTIMIZATION AND VALUE ENGINEERING APPLIED TO CAR DOO...
“MATERIAL AND STRUCTURE OPTIMIZATION AND VALUE ENGINEERING APPLIED TO CAR DOO...
 
Scientific Software: Sustainability, Skills & Sociology
Scientific Software: Sustainability, Skills & SociologyScientific Software: Sustainability, Skills & Sociology
Scientific Software: Sustainability, Skills & Sociology
 
CAW2016_Resume
CAW2016_ResumeCAW2016_Resume
CAW2016_Resume
 
App Mod 03: Monoliths to microservices with java ee and spring boot
App Mod 03: Monoliths to microservices with java ee and spring bootApp Mod 03: Monoliths to microservices with java ee and spring boot
App Mod 03: Monoliths to microservices with java ee and spring boot
 
PredictionIO - Building Applications That Predict User Behavior Through Big D...
PredictionIO - Building Applications That Predict User Behavior Through Big D...PredictionIO - Building Applications That Predict User Behavior Through Big D...
PredictionIO - Building Applications That Predict User Behavior Through Big D...
 
Ev+agile=success
Ev+agile=successEv+agile=success
Ev+agile=success
 
Optimizing Spark Deployments for Containers: Isolation, Safety, and Performan...
Optimizing Spark Deployments for Containers: Isolation, Safety, and Performan...Optimizing Spark Deployments for Containers: Isolation, Safety, and Performan...
Optimizing Spark Deployments for Containers: Isolation, Safety, and Performan...
 
Multilanguage Pipelines with Jenkins, Docker and Kubernetes (Commit Conf 2018)
Multilanguage Pipelines with Jenkins, Docker and Kubernetes (Commit Conf 2018)Multilanguage Pipelines with Jenkins, Docker and Kubernetes (Commit Conf 2018)
Multilanguage Pipelines with Jenkins, Docker and Kubernetes (Commit Conf 2018)
 
Muhammad_Aneeque - PM
Muhammad_Aneeque - PMMuhammad_Aneeque - PM
Muhammad_Aneeque - PM
 
Continuity in the development of seamless mobility: An approach for a system-...
Continuity in the development of seamless mobility: An approach for a system-...Continuity in the development of seamless mobility: An approach for a system-...
Continuity in the development of seamless mobility: An approach for a system-...
 
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
 
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
 
Alleman coonce-agile-2017 may2
Alleman coonce-agile-2017 may2Alleman coonce-agile-2017 may2
Alleman coonce-agile-2017 may2
 
OpenWhisk - A platform for cloud native, serverless, event driven apps
OpenWhisk - A platform for cloud native, serverless, event driven appsOpenWhisk - A platform for cloud native, serverless, event driven apps
OpenWhisk - A platform for cloud native, serverless, event driven apps
 
Project Management
Project ManagementProject Management
Project Management
 
Spm unit 3
Spm unit 3Spm unit 3
Spm unit 3
 

Mehr von Javier Canovas

Mehr von Javier Canovas (20)

On the Analysis of Non-Coding Roles in Open Source Development
On the Analysis of Non-Coding Roles in Open Source DevelopmentOn the Analysis of Non-Coding Roles in Open Source Development
On the Analysis of Non-Coding Roles in Open Source Development
 
Open Source Software Governance Guide: Developing a Matrix of Leading Questio...
Open Source Software Governance Guide: Developing a Matrix of Leading Questio...Open Source Software Governance Guide: Developing a Matrix of Leading Questio...
Open Source Software Governance Guide: Developing a Matrix of Leading Questio...
 
A Model-based Chatbot Generation Approach to Converse with Open Data Sources
A Model-based Chatbot Generation Approach to Converse with Open Data SourcesA Model-based Chatbot Generation Approach to Converse with Open Data Sources
A Model-based Chatbot Generation Approach to Converse with Open Data Sources
 
Chatbots to Democratize the Access to Information and Internet Services
Chatbots to Democratize the Access to Information and Internet ServicesChatbots to Democratize the Access to Information and Internet Services
Chatbots to Democratize the Access to Information and Internet Services
 
Analysis and Modeling of the Governance in General Programming Languages
Analysis and Modeling of the Governance in General Programming LanguagesAnalysis and Modeling of the Governance in General Programming Languages
Analysis and Modeling of the Governance in General Programming Languages
 
Automatic Generation of Test Cases for REST APIs: a Specification-Based Approach
Automatic Generation of Test Cases for REST APIs: a Specification-Based ApproachAutomatic Generation of Test Cases for REST APIs: a Specification-Based Approach
Automatic Generation of Test Cases for REST APIs: a Specification-Based Approach
 
A UML Profile for Privacy Enforcement
A UML Profile for Privacy EnforcementA UML Profile for Privacy Enforcement
A UML Profile for Privacy Enforcement
 
The Role of Foundations in Open Source Projects
The Role of Foundations in Open Source ProjectsThe Role of Foundations in Open Source Projects
The Role of Foundations in Open Source Projects
 
Example-driven Web API Specification Discovery
Example-driven Web API Specification DiscoveryExample-driven Web API Specification Discovery
Example-driven Web API Specification Discovery
 
Software Modernization Revisited: Challenges and Prospects
Software Modernization Revisited:Challenges and ProspectsSoftware Modernization Revisited:Challenges and Prospects
Software Modernization Revisited: Challenges and Prospects
 
Findings from GitHub. Methods, Datasets and Limitations
Findings from GitHub. Methods, Datasets and LimitationsFindings from GitHub. Methods, Datasets and Limitations
Findings from GitHub. Methods, Datasets and Limitations
 
Enabling the Definition and Enforcement of Governance Rules in Open Source Sy...
Enabling the Definition and Enforcement of Governance Rules in Open Source Sy...Enabling the Definition and Enforcement of Governance Rules in Open Source Sy...
Enabling the Definition and Enforcement of Governance Rules in Open Source Sy...
 
Exploring the Use of Labels to Categorize Issues in Open-Source Software Pro...
Exploring the Use of Labels to Categorize Issues in Open-Source Software Pro...Exploring the Use of Labels to Categorize Issues in Open-Source Software Pro...
Exploring the Use of Labels to Categorize Issues in Open-Source Software Pro...
 
Composing JSON-based Web APIs
Composing JSON-based Web APIsComposing JSON-based Web APIs
Composing JSON-based Web APIs
 
Retos Actuales en el Desarrollo de Lenguajes Específicos del Dominio
Retos Actuales en el Desarrollo de Lenguajes Específicos del DominioRetos Actuales en el Desarrollo de Lenguajes Específicos del Dominio
Retos Actuales en el Desarrollo de Lenguajes Específicos del Dominio
 
Discovering Implicit Schemas in JSON Data
Discovering Implicit Schemas in JSON DataDiscovering Implicit Schemas in JSON Data
Discovering Implicit Schemas in JSON Data
 
Enabling the Collaborative Definition of DSMLs
Enabling the Collaborative Definition of DSMLsEnabling the Collaborative Definition of DSMLs
Enabling the Collaborative Definition of DSMLs
 
Domain-Specific Languages
Domain-Specific LanguagesDomain-Specific Languages
Domain-Specific Languages
 
Modernization in Eclipse
Modernization in EclipseModernization in Eclipse
Modernization in Eclipse
 
Software Modernization
Software ModernizationSoftware Modernization
Software Modernization
 

Kürzlich hochgeladen

Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Sérgio Sacani
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
PirithiRaju
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Sérgio Sacani
 
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
ssuser79fe74
 
Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and Classifications
Areesha Ahmad
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Lokesh Kothari
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptx
gindu3009
 

Kürzlich hochgeladen (20)

9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
COST ESTIMATION FOR A RESEARCH PROJECT.pptx
COST ESTIMATION FOR A RESEARCH PROJECT.pptxCOST ESTIMATION FOR A RESEARCH PROJECT.pptx
COST ESTIMATION FOR A RESEARCH PROJECT.pptx
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdf
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdf
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdf
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
 
GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )
 
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticsPulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
 
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
 
Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and Classifications
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptx
 

An Empirical Study on the Maturity of the Eclipse Modeling Ecosystem

  • 1. Flickr/BenNuttall An Empirical Study on the Maturity of the Eclipse Modeling Ecosystem Javier L. Cánovas Izquierdo, Valerio Cosentino, Jordi Cabot flickr/Kansasphoto
  • 6. Maturity Model ISO 25000 ISO 9126 OPM3 CMMI PRINCE Technology Readiness Level Polarsys Maturity Model McCabe Ayalew et al. …
  • 7. Maturity Model ISO 25000 ISO 9126 OPM3 CMMI PRINCE Technology Readiness Level Polarsys Maturity Model McCabe Ayalew et al. …
  • 8. Maturity Model DIMENSION ATTRIBUTE QUESTION Metric ID INF. Ecosystem Activity Developer Activity eco_avg_commits_developer ↗ SCM Activity eco_num_commits ↗ eco_num_contributors ↗ eco_avg_commits_month ↗ eco_avg_commits_week ↗ eco_avg_commits_last_year ↗ Diversity Developer Activity eco_ratio_outsiders ↗ eco_ratio_commits_top_committers ↘ eco_ratio_casuals ↗ Product Analysability Code Size prod_lines_code ↘ File Types prod_num_extensions ↘ Code Complexity prod_class_complexity ↘ prod_functions_complexity ↘ prod_file_complexity ↘ Changeability Code Smells prod_code_smells ↘ File Types (see metrics defined in analysability attribute) - Code Complexity (see metrics defined in analysability attribute) - Reliability Number of Issues prod_open_issues ↘ Code Complexity (see metrics defined in analysability attribute) - Reusability Code Documentation prod_comment_density ↗ Technical Debt prod_technical_debt ↘
  • 10. Research Questions Are modeling projects as mature as non-modeling projects?RQ1 Is the incubation status of a project an important factor when comparing modeling and non-modeling projects? RQ2 Is the incubation status a valid indicator of the maturity of a modeling project? RQ3
  • 11. Research Questions Are modeling projects as mature as non-modeling projects?RQ1 Is the incubation status of a project an important factor when comparing modeling and non-modeling projects? RQ2 Is the incubation status a valid indicator of the maturity of a modeling project? RQ3 PROJECT TYPE PROJECTSTATUS
  • 12. Research Questions Are modeling projects as mature as non-modeling projects?RQ1 Is the incubation status of a project an important factor when comparing modeling and non-modeling projects? RQ2 Is the incubation status a valid indicator of the maturity of a modeling project? RQ3
  • 14.
  • 18. Building the dataset INPUT DISCARDED OUTPUT PROJECTS REPOS PROJECTS REPOS PROJECTS REPOS WEB SCRAPING 216 1,710 FILTERING 216 1,710 49 1,361 167 349 CLONING 167 349 22 28 145 321 IMPORT 145 321 0 0 145 321 SQL-BASED 145 321 0 0 145 321 SONARQUBE-BASED 145 321 9 47 136 274 FINAL 136 274
  • 19. Building the dataset INPUT DISCARDED OUTPUT PROJECTS REPOS PROJECTS REPOS PROJECTS REPOS WEB SCRAPING 216 1,710 FILTERING 216 1,710 49 1,361 167 349 CLONING 167 349 22 28 145 321 IMPORT 145 321 0 0 145 321 SQL-BASED 145 321 0 0 145 321 SONARQUBE-BASED 145 321 9 47 136 274 FINAL 136 274 Inactive repositories Companion repositories eclipse.org gerrit
  • 20. Building the dataset INPUT DISCARDED OUTPUT PROJECTS REPOS PROJECTS REPOS PROJECTS REPOS WEB SCRAPING 216 1,710 FILTERING 216 1,710 49 1,361 167 349 CLONING 167 349 22 28 145 321 IMPORT 145 321 0 0 145 321 SQL-BASED 145 321 0 0 145 321 SONARQUBE-BASED 145 321 9 47 136 274 FINAL 136 274 DECEMBER 2016 M T W T F S S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
  • 21. Building the dataset INPUT DISCARDED OUTPUT PROJECTS REPOS PROJECTS REPOS PROJECTS REPOS WEB SCRAPING 216 1,710 FILTERING 216 1,710 49 1,361 167 349 CLONING 167 349 22 28 145 321 IMPORT 145 321 0 0 145 321 SQL-BASED 145 321 0 0 145 321 SONARQUBE-BASED 145 321 9 47 136 274 FINAL 136 274 master Gitana https://github.com/ SOM-Research/gitana
  • 22. Calculating metrics INPUT DISCARDED OUTPUT PROJECTS REPOS PROJECTS REPOS PROJECTS REPOS WEB SCRAPING 216 1,710 FILTERING 216 1,710 49 1,361 167 349 CLONING 167 349 22 28 145 321 IMPORT 145 321 0 0 145 321 SQL-BASED 145 321 0 0 145 321 SONARQUBE-BASED 145 321 9 47 136 274 FINAL 136 274
  • 25. Research Questions Are modeling projects as mature as non-modeling projects?RQ1 Is the incubation status of a project an important factor when comparing modeling and non-modeling projects RQ2 Is the incubation status a valid indicator of the maturity of a modeling Project? RQ3
  • 26. PROJECT TYPE PROJECTSTATUS RQ1 Are modeling projects as mature as non- modeling projects?RQ1 M ¬Mvs.
  • 27. PROJECT TYPE PROJECTSTATUS RQ1 Are modeling projects as mature as non- modeling projects?RQ1 M ¬Mvs. Our mission: Assess whether the distributions of a given metric are different… Student’s t-test Behrens-Fisher test Mann-Whitney-Wilcoxon for modeling vs. non-modeling
  • 28. RQ1 ECOSYSTEM METRICS METRIC DIFF. INF. eco_avg_commits_developer  ↗ eco_num_commits  ↗ eco_num_contributors *** ↗ eco_avg_commits_month  ↗ eco_avg_commits_week  ↗ eco_avg_commits_last_year  ↗ eco_ratio_outsiders  ↗ eco_ratio_commits_top_committers  ↘ eco_ratio_casuals ** ↗ PRODUCT METRICS prod_lines_code - ↘ prod_num_extensions ** ↘ prod_class_complexity  ↘ prod_functions_complexity  ↘ prod_file_complexity  ↘ prod_code_smells  ↘ prod_open_issues  ↘ prod_comment_density *** ↗ prod_technical_debt * ↘
  • 29. RQ1 ECOSYSTEM METRICS METRIC DIFF. INF. eco_avg_commits_developer  ↗ eco_num_commits  ↗ eco_num_contributors *** ↗ eco_avg_commits_month  ↗ eco_avg_commits_week  ↗ eco_avg_commits_last_year  ↗ eco_ratio_outsiders  ↗ eco_ratio_commits_top_committers  ↘ eco_ratio_casuals ** ↗ PRODUCT METRICS prod_lines_code - ↘ prod_num_extensions ** ↘ prod_class_complexity  ↘ prod_functions_complexity  ↘ prod_file_complexity  ↘ prod_code_smells  ↘ prod_open_issues  ↘ prod_comment_density *** ↗ prod_technical_debt * ↘
  • 30. RQ1 ECOSYSTEM METRICS METRIC DIFF. INF. eco_avg_commits_developer  ↗ eco_num_commits  ↗ eco_num_contributors *** ↗ eco_avg_commits_month  ↗ eco_avg_commits_week  ↗ eco_avg_commits_last_year  ↗ eco_ratio_outsiders  ↗ eco_ratio_commits_top_committers  ↘ eco_ratio_casuals ** ↗ PRODUCT METRICS prod_lines_code - ↘ prod_num_extensions ** ↘ prod_class_complexity  ↘ prod_functions_complexity  ↘ prod_file_complexity  ↘ prod_code_smells  ↘ prod_open_issues  ↘ prod_comment_density *** ↗ prod_technical_debt * ↘
  • 31. RQ1 Are modeling projects as mature as non-modeling projects? RQ1 ECOSYSTEM METRICS METRIC DIFF. INF. eco_avg_commits_developer  ↗ eco_num_commits  ↗ eco_num_contributors *** ↗ eco_avg_commits_month  ↗ eco_avg_commits_week  ↗ eco_avg_commits_last_year  ↗ eco_ratio_outsiders  ↗ eco_ratio_commits_top_committers  ↘ eco_ratio_casuals ** ↗ PRODUCT METRICS prod_lines_code - ↘ prod_num_extensions ** ↘ prod_class_complexity  ↘ prod_functions_complexity  ↘ prod_file_complexity  ↘ prod_code_smells  ↘ prod_open_issues  ↘ prod_comment_density *** ↗ prod_technical_debt * ↘ Some metrics present significant differences in their distribution Modeling projects achieve lower maturity levels than non-modeling ones but that the overall difference is small.
  • 32. Research Questions Are modeling projects as mature as non-modeling projects?RQ1 Is the incubation status of a project an important factor when comparing modeling and non-modeling projects? RQ2 Is the incubation status a valid indicator of the maturity of a modeling Project? RQ3
  • 33. PROJECT TYPE PROJECTSTATUS RQ2 Is the incubation status of a project an important factor when comparing modeling and non-modeling projects? RQ2 MI M¬I ¬MI ¬M¬Ivs. vs.
  • 34. PROJECT TYPE PROJECTSTATUS RQ2 Is the incubation status of a project an important factor when comparing modeling and non-modeling projects? RQ2 MI M¬I ¬MI ¬M¬Ivs. vs. Our mission: Assess whether the distributions of a given metric are different… ANOVA T for modeling vs. non-modeling & incubation vs. non-incubation ~
  • 35. RQ2 ECOSYSTEM METRICS METRIC MI vs. ¬MI M¬I vs. ¬M¬I INF. eco_avg_commits_developer   ↗ eco_num_commits   ↗ eco_num_contributors  ** ↗ eco_avg_commits_month   ↗ eco_avg_commits_week   ↗ eco_avg_commits_last_year   ↗ eco_ratio_outsiders - - ↗ eco_ratio_commits_top_committers   ↘ eco_ratio_casuals  * ↗ PRODUCT METRICS prod_lines_code ***  ↘ prod_num_extensions ***  ↘ prod_class_complexity - - ↘ prod_functions_complexity - - ↘ prod_file_complexity - - ↘ prod_code_smells ***  ↘ prod_open_issues ***  ↘ prod_comment_density *** *** ↗ prod_technical_debt *  ↘
  • 36. RQ2 ECOSYSTEM METRICS METRIC MI vs. ¬MI M¬I vs. ¬M¬I INF. eco_avg_commits_developer   ↗ eco_num_commits   ↗ eco_num_contributors  ** ↗ eco_avg_commits_month   ↗ eco_avg_commits_week   ↗ eco_avg_commits_last_year   ↗ eco_ratio_outsiders - - ↗ eco_ratio_commits_top_committers   ↘ eco_ratio_casuals  * ↗ PRODUCT METRICS prod_lines_code ***  ↘ prod_num_extensions ***  ↘ prod_class_complexity - - ↘ prod_functions_complexity - - ↘ prod_file_complexity - - ↘ prod_code_smells ***  ↘ prod_open_issues ***  ↘ prod_comment_density *** *** ↗ prod_technical_debt *  ↘
  • 37. RQ2 ECOSYSTEM METRICS METRIC MI vs. ¬MI M¬I vs. ¬M¬I INF. eco_avg_commits_developer   ↗ eco_num_commits   ↗ eco_num_contributors  ** ↗ eco_avg_commits_month   ↗ eco_avg_commits_week   ↗ eco_avg_commits_last_year   ↗ eco_ratio_outsiders - - ↗ eco_ratio_commits_top_committers   ↘ eco_ratio_casuals  * ↗ PRODUCT METRICS prod_lines_code ***  ↘ prod_num_extensions ***  ↘ prod_class_complexity - - ↘ prod_functions_complexity - - ↘ prod_file_complexity - - ↘ prod_code_smells ***  ↘ prod_open_issues ***  ↘ prod_comment_density *** *** ↗ prod_technical_debt *  ↘
  • 38. RQ2 Is the incubation status of a project an important factor when comparing modeling and non-modeling projects? RQ2 Numerous significant differences in product metrics between modeling and non-modeling projects when they are incubation ones Differences fade down once the projects leave the incubation status The incubation status of a project affects the maturity comparison between modeling and non-modeling projects ECOSYSTEM METRICS METRIC MI vs. ¬MI M¬I vs. ¬M¬I INF. eco_avg_commits_developer   ↗ eco_num_commits   ↗ eco_num_contributors  ** ↗ eco_avg_commits_month   ↗ eco_avg_commits_week   ↗ eco_avg_commits_last_year   ↗ eco_ratio_outsiders - - ↗ eco_ratio_commits_top_committers   ↘ eco_ratio_casuals  * ↗ PRODUCT METRICS prod_lines_code ***  ↘ prod_num_extensions ***  ↘ prod_class_complexity - - ↘ prod_functions_complexity - - ↘ prod_file_complexity - - ↘ prod_code_smells ***  ↘ prod_open_issues ***  ↘ prod_comment_density *** *** ↗ prod_technical_debt *  ↘
  • 39. Research Questions Are modeling projects as mature as non-modeling projects?RQ1 Is the incubation status of a project an important factor when comparing modeling and non-modeling projects RQ2 Is the incubation status a valid indicator of the maturity of a modeling project? RQ3
  • 40. PROJECT TYPE PROJECTSTATUS Project type and status Is the incubation status a valid indicator of the maturity of a modeling project?RQ3 MI M¬I vs. Our mission: Assess whether the distributions of a given metric are different… ANOVA T for modeling vs. non-modeling & incubation vs. non-incubation ~
  • 41. RQ3 ECOSYSTEM METRICS METRIC M¬I vs. MI ¬M¬I vs. ¬MI INF. eco_avg_commits_developer  * ↗ eco_num_commits  ** ↗ eco_num_contributors ** *** ↗ eco_avg_commits_month  *** ↗ eco_avg_commits_week  ** ↗ eco_avg_commits_last_year  *** ↗ eco_ratio_outsiders - - ↗ eco_ratio_commits_top_committers  *** ↘ eco_ratio_casuals  *** ↗ PRODUCT METRICS prod_lines_code  *** ↘ prod_num_extensions  *** ↘ prod_class_complexity - - ↘ prod_functions_complexity - - ↘ prod_file_complexity - - ↘ prod_code_smells  *** ↘ prod_open_issues  *** ↘ prod_comment_density   ↗ prod_technical_debt   ↘
  • 42. RQ3 ECOSYSTEM METRICS METRIC M¬I vs. MI ¬M¬I vs. ¬MI INF. eco_avg_commits_developer  * ↗ eco_num_commits  ** ↗ eco_num_contributors ** *** ↗ eco_avg_commits_month  *** ↗ eco_avg_commits_week  ** ↗ eco_avg_commits_last_year  *** ↗ eco_ratio_outsiders - - ↗ eco_ratio_commits_top_committers  *** ↘ eco_ratio_casuals  *** ↗ PRODUCT METRICS prod_lines_code  *** ↘ prod_num_extensions  *** ↘ prod_class_complexity - - ↘ prod_functions_complexity - - ↘ prod_file_complexity - - ↘ prod_code_smells  *** ↘ prod_open_issues  *** ↘ prod_comment_density   ↗ prod_technical_debt   ↘
  • 43. RQ3 ECOSYSTEM METRICS METRIC M¬I vs. MI ¬M¬I vs. ¬MI INF. eco_avg_commits_developer  * ↗ eco_num_commits  ** ↗ eco_num_contributors ** *** ↗ eco_avg_commits_month  *** ↗ eco_avg_commits_week  ** ↗ eco_avg_commits_last_year  *** ↗ eco_ratio_outsiders - - ↗ eco_ratio_commits_top_committers  *** ↘ eco_ratio_casuals  *** ↗ PRODUCT METRICS prod_lines_code  *** ↘ prod_num_extensions  *** ↘ prod_class_complexity - - ↘ prod_functions_complexity - - ↘ prod_file_complexity - - ↘ prod_code_smells  *** ↘ prod_open_issues  *** ↘ prod_comment_density   ↗ prod_technical_debt   ↘ Is the incubation status a valid indicator of the maturity of a modeling Project? RQ3 No remarkable differences in the metrics for modeling projects according to its incubation status
  • 44. RQ3 ECOSYSTEM METRICS METRIC M¬I vs. MI ¬M¬I vs. ¬MI INF. eco_avg_commits_developer  * ↗ eco_num_commits  ** ↗ eco_num_contributors ** *** ↗ eco_avg_commits_month  *** ↗ eco_avg_commits_week  ** ↗ eco_avg_commits_last_year  *** ↗ eco_ratio_outsiders - - ↗ eco_ratio_commits_top_committers  *** ↘ eco_ratio_casuals  *** ↗ PRODUCT METRICS prod_lines_code  *** ↘ prod_num_extensions  *** ↘ prod_class_complexity - - ↘ prod_functions_complexity - - ↘ prod_file_complexity - - ↘ prod_code_smells  *** ↘ prod_open_issues  *** ↘ prod_comment_density   ↗ prod_technical_debt   ↘ Is the incubation status a valid indicator of the maturity of a modeling Project? RQ3 No remarkable differences in the metrics for modeling projects according to its incubation status
  • 45. RQ3 ECOSYSTEM METRICS METRIC M¬I vs. MI ¬M¬I vs. ¬MI INF. eco_avg_commits_developer  * ↗ eco_num_commits  ** ↗ eco_num_contributors ** *** ↗ eco_avg_commits_month  *** ↗ eco_avg_commits_week  ** ↗ eco_avg_commits_last_year  *** ↗ eco_ratio_outsiders - - ↗ eco_ratio_commits_top_committers  *** ↘ eco_ratio_casuals  *** ↗ PRODUCT METRICS prod_lines_code  *** ↘ prod_num_extensions  *** ↘ prod_class_complexity - - ↘ prod_functions_complexity - - ↘ prod_file_complexity - - ↘ prod_code_smells  *** ↘ prod_open_issues  *** ↘ prod_comment_density   ↗ prod_technical_debt   ↘ Is the incubation status a valid indicator of the maturity of a modeling Project? RQ3 No remarkable differences in the metrics for modeling projects according to its incubation status
  • 46. RQ3 ECOSYSTEM METRICS METRIC M¬I vs. MI ¬M¬I vs. ¬MI INF. eco_avg_commits_developer  * ↗ eco_num_commits  ** ↗ eco_num_contributors ** *** ↗ eco_avg_commits_month  *** ↗ eco_avg_commits_week  ** ↗ eco_avg_commits_last_year  *** ↗ eco_ratio_outsiders - - ↗ eco_ratio_commits_top_committers  *** ↘ eco_ratio_casuals  *** ↗ PRODUCT METRICS prod_lines_code  *** ↘ prod_num_extensions  *** ↘ prod_class_complexity - - ↘ prod_functions_complexity - - ↘ prod_file_complexity - - ↘ prod_code_smells  *** ↘ prod_open_issues  *** ↘ prod_comment_density   ↗ prod_technical_debt   ↘ Is the incubation status a valid indicator of the maturity of a modeling Project? RQ3 No remarkable differences in the metrics for modeling projects according to its incubation status The incubation status makes a difference only for non-modeling projects
  • 48. Extensions Beyond a Git-centric Approach Collaboration as a key Maturity Dimension Collaboration Beyond the Code Why not consider other supporting tools? (e.g., forums, instant messages, etc.) Pay attention to the community as one of the cornerstones in Open Source Let’s combine previous extensions and analyze collaboration networks
  • 50. Extensions Beyond a Git-centric Approach Collaboration as a key Maturity Dimension Collaboration Beyond the Code Why not consider other supporting tools? (e.g., forums, instant messages, etc.) Pay attention to the community as one of the cornerstones in Open Source Let’s combine previous extensions and analyze collaboration networks
  • 51. Collaboration as a Key Maturity Dimension
  • 52. Extensions Beyond a Git-centric Approach Collaboration as a key Maturity Dimension Collaboration Beyond the Code Why not consider other supporting tools? (e.g., forums, instant messages, etc.) Pay attention to the community as one of the cornerstones in Open Source Let’s combine previous extensions and analyze collaboration networks
  • 53. Collaboration Beyond the Code JDT Papyrus
  • 55. Conclusion and Further Work • First studies on the maturity of modeling tools • Comparison of over a hundred of modeling and non-modeling Eclipse projects • There are differences, though less than expected • Extensions to increase the scope of our maturity model What we have shown Much more research needs to be done to really understand the technical and social factors that make both families of projects different
  • 57. Maturity vs. Adoption flickr/crwr Vallecillo, A (2014). On the Industrial Adoption of Model Driven Engineering, Is you Company ready for MDE? . International Journal of Information Systems and Software Engineering for Big Companies (IJISEBC), Vol. 1, Num. 1, pp. 52-68
  • 58. Maturity vs. Adoption flickr/crwr …are they related? Vallecillo, A (2014). On the Industrial Adoption of Model Driven Engineering, Is you Company ready for MDE? . International Journal of Information Systems and Software Engineering for Big Companies (IJISEBC), Vol. 1, Num. 1, pp. 52-68
  • 59. Why modeling has not succeeded yet? flickr/TimNorris
  • 60. Thanks! Replication Package http://hdl.handle.net/20.500.12004/1/C/MODELS/2017/218 Javier L. Cánovas Izquierdo jcanovasi@uoc.edu @jlcanovas Valerio Cosentino vcosentino@uoc.edu Jordi Cabot jordi.cabot@icrea.cat @softmodeling Modeling projects achieve lower maturity levels than non-modeling ones but that the overall difference is small. RQ1 The incubation status of a project affects the maturity comparison between modeling and non-modeling projects RQ2 The incubation status makes a difference only for non-modeling projectsRQ3 Take-home messages:

Hinweis der Redaktion

  1. Presentation, outline (motivation, research questions, how we answered them, conclusión and future work)