SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Survival	
  Analysis	
  of	
  Database	
  Technologies	
  
in	
  Open	
  Source	
  Java	
  Projects
Mathieu	
  Goeminne,	
  Tom	
  Mens	
  
So?ware	
  Engineering	
  Lab,	
  University	
  of	
  Mons,	
  Belgium
hEp://informaHque.umons.ac.be/genlog/projects/disse
ICSME	
  2015	
  Early	
  Research	
  Achievements	
  —	
  Bremen,	
  Germany,	
  September	
  2015
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
Context
• FNRS	
  research	
  project	
  “Data-­‐Intensive	
  So?ware	
  System	
  
EvoluHon”	
  
– Interuniversity	
  collaboraHon	
  with	
  Université	
  de	
  Namur	
  
•Expand	
  empirical	
  MSR	
  research	
  to	
  include	
  database-­‐
related	
  acHviHes	
  
• Overall	
  goal	
  
– Empirically	
  analyse	
  and	
  support	
  co-­‐evoluHon	
  between	
  
program	
  code	
  and	
  database	
  schema	
  in	
  data-­‐intensive	
  
so?ware	
  systems	
  
• This	
  paper:	
  
– Study	
  co-­‐evoluHon	
  of	
  Java	
  ORM	
  database	
  technologies
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
Focus
• Open	
  source	
  Java	
  projects	
  
– Extracted	
  from	
  GitHub	
  Java	
  Corpus

[Allamanis&SuEon	
  —	
  MSR	
  2013]	
  
– We	
  considered	
  13,307	
  Java	
  projects	
  sHll	
  
having	
  a	
  Git	
  repository	
  in	
  March	
  2015
3
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
Focus
• Many	
  Java	
  relaHonal	
  database	
  technologies
4
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
Focus
• Java	
  relaHonal	
  database	
  technologies
5
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
Focus
• Java	
  relaHonal	
  database	
  technologies	
  
• 19	
  different	
  Java	
  technologies	
  considered

(of	
  at	
  least	
  3	
  years	
  old)	
  
• Detected	
  by	
  looking	
  at

import	
  statements	
  and

configuraDon	
  files	
  
• This	
  le?	
  us	
  with	
  3,819	
  Java	
  projects
6
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
Focus
• Top	
  5	
  technologies	
  occurred	
  in	
  over	
  200	
  projects	
  each	
  
• 3,707	
  Java	
  projects	
  used	
  (at	
  least)	
  one	
  of	
  these	
  5	
  
technologies
7
200
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
Research	
  QuesHons
RQ1	
  	
  Which	
  combinaHons	
  of	
  database	
  
technologies	
  co-­‐occur	
  in	
  the	
  projects	
  in	
  which	
  
they	
  are	
  used?	
  
RQ2	
  	
  How	
  long	
  do	
  database	
  technologies	
  survive	
  
in	
  the	
  projects	
  in	
  which	
  they	
  occur?	
  
RQ3	
  	
  Does	
  the	
  introducHon	
  of	
  a	
  technology	
  
influence	
  the	
  survivability	
  of	
  another	
  one?	
  
RQ4	
  	
  How	
  long	
  does	
  it	
  take	
  to	
  introduce	
  a	
  second	
  
technology	
  a?er	
  a	
  previous	
  one	
  was	
  introduced?
8
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
Different	
  technologies	
  used	
  within	
  the	
  same	
  Java	
  
project	
  (not	
  necessarily	
  at	
  the	
  same	
  Hme)
(61%)
RQ1	
  	
  Which	
  combinaHons	
  of	
  technologies	
  co-­‐
occur	
  in	
  the	
  projects	
  in	
  which	
  they	
  are	
  used?
9
(34,5%)
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
RQ1	
  	
  Which	
  combinaHons	
  of	
  technologies	
  co-­‐
occur	
  in	
  the	
  projects	
  in	
  which	
  they	
  are	
  used?
• How	
  frequently	
  do	
  these	
  technologies	
  actually	
  
co-­‐occur?	
  
• Answer:	
  most	
  of	
  the	
  Hme!
10
t
e
s
”
s
d
e
f
s
k
s
r
a given number of distinct frameworks over their entire history,
and horizontally the maximum number of distinct “co-occurring”
frameworks. Almost all values reside on the diagonal, implying
that in the large majority of all cases (97.5%, i.e., 1213/1273),
different database frameworks used in a project tend to
co-occur.
TABLE II
NUMBER OF PROJECTS INVOLVING A GIVEN NUMBER OF FRAMEWORKS,
OVER THEIR ENTIRE LIFETIME AND IN CO-OCCURRENCE.
# co-occurring fw. ! 1 2 3 4 5
# total # frameworks used
1 2,443
2 22 776
3 2 16 328
4 0 0 18 104
5 0 0 1 1 5
Focusing on specific combinations of frameworks, Table III
reports the number of projects in which two database frame-
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
RQ1	
  	
  Which	
  combinaHons	
  of	
  technologies	
  co-­‐
occur	
  in	
  the	
  projects	
  in	
  which	
  they	
  are	
  used?
• JDBC	
  co-­‐occurs	
  with	
  most	
  other	
  technologies	
  
• Spring	
  and	
  JPA	
  co-­‐occur	
  very	
  frequently	
  
• Vaadin	
  occurs	
  infrequently	
  with	
  Hibernate,	
  JPA,	
  Spring
11
the other frameworks. 80.1% of all projects that used Hibernate
have also used JDBC in co-occurrence; 48.4% of all projects
that used JPA have used JDBC in co-occurrence; 41.3% of all
projects that used Spring have used JDBC in co-occurrence;
and 39.6% of all projects that used Vaadin have used JDBC
in co-occurrence.
TABLE III
NUMBER OF PROJECTS IN WHICH PAIRS OF DATABASE FRAMEWORKS
CO-OCCUR.
Spring JPA Vaadin Hibernate
JDBC 645 565 143 192
Spring 558 76 156
JPA 98 105
Vaadin 22
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
RQ2	
  	
  How	
  long	
  do	
  database	
  technologies	
  
survive	
  in	
  the	
  projects	
  in	
  which	
  they	
  occur?
• Use	
  staHsHcal	
  technique	
  of	
  survival	
  analysis	
  
• Kaplan-­‐Meier	
  esHmator	
  represents	
  probability	
  
to	
  survive	
  (i.e.,	
  the	
  Hme	
  it	
  takes	
  for	
  a	
  specific	
  
event	
  	
  to	
  occur)	
  
• Takes	
  into	
  account	
  right-­‐censored	
  data	
  (e.g.,	
  
the	
  event	
  did	
  not	
  occur	
  yet)
12
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
RQ2	
  	
  How	
  long	
  do	
  database	
  technologies	
  
survive	
  in	
  the	
  projects	
  in	
  which	
  they	
  occur?
• Most	
  technologies	
  tend	
  to	
  survive	
  (>50%	
  
probability)	
  over	
  the	
  project’s	
  lifeHme	
  
• A	
  bit	
  less	
  for	
  Vaadin	
  and	
  Hibernate
13
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
RQ3	
  	
  Does	
  the	
  introducHon	
  of	
  a	
  technology	
  
influence	
  the	
  survivability	
  of	
  another	
  one?
• Visually	
  we	
  observe	
  slightly	
  improved	
  survival	
  for	
  some	
  
combinaHons;	
  but	
  staDsDcally	
  insignificant
14
0 1000 2000 3000 4000 5000 6000
0.00.20.40.60.81.0
C2
C1
A = spring
B = jdbc
0 1000 2000 3000 4000 5000 6000
0.00.20.40.60.81.0
C2
C1
A = jdbc
B = spring
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
Effect	
  of	
  project	
  size?
• Project	
  size	
  and	
  age	
  follow	
  a	
  log-­‐normal	
  distribuHon	
  
• How	
  does	
  this	
  affect	
  the	
  results?	
  
– Split	
  projects	
  in	
  two	
  equal	
  bins	
  according	
  to	
  project	
  size,	
  
and	
  compare	
  results
15
Time	
  unDl	
  technology	
  introducDon
• Technologies	
  tend	
  to	
  be	
  
introduced	
  at	
  the	
  start	
  of	
  
the	
  project	
  
• Some	
  small	
  projects	
  also	
  
introduce	
  technologies	
  
near	
  the	
  end	
  their	
  
observed	
  lifeHme	
  
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
RQ4	
  	
  How	
  long	
  does	
  it	
  take	
  to	
  introduce	
  a	
  second	
  
technology	
  a?er	
  a	
  previous	
  one	
  was	
  introduced?
• Small	
  projects	
  are	
  less	
  likely	
  to	
  introduce	
  a	
  second	
  technology,	
  and	
  do	
  it	
  later	
  
• JDBC	
  is	
  rarely	
  completed	
  with	
  another	
  technology	
  
• Hibernate	
  is	
  o?en	
  quickly	
  completed	
  with	
  (or	
  replaced	
  by)	
  another	
  techno	
  
16
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
Conclusions
• Some	
  technologies	
  are	
  much	
  more	
  popular	
  than	
  others	
  
– JDBC,	
  JPA,	
  Hibernate,	
  Spring	
  
• Different	
  Java	
  database	
  technologies	
  tend	
  to	
  co-­‐occur	
  together	
  
– Especially	
  in	
  the	
  larger	
  Java	
  projects	
  
• Technologies,	
  once	
  introduced,	
  tend	
  to	
  remain	
  
• Introducing	
  new	
  technos	
  does	
  not	
  “replace”	
  exisHng	
  ones	
  but	
  
rather	
  “complements”	
  them	
  
– Survival	
  of	
  exisHng	
  technologies	
  is	
  not	
  negaHvely	
  affected	
  
• Big	
  projects	
  tend	
  to	
  behave	
  differently	
  than	
  small	
  ones	
  
• Many	
  technologies	
  are	
  used	
  in	
  combinaHon	
  with	
  JDBC;	
  but	
  
JDBC	
  is	
  also	
  o?en	
  used	
  in	
  isolaHon
17
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
Future	
  Work
• Analyse	
  co-­‐occurrence	
  of	
  technologies	
  at	
  finer	
  
level	
  of	
  granularity	
  	
  
• Look	
  at	
  NoSQL	
  database	
  technologies	
  
• Study	
  co-­‐evoluHon	
  between	
  changes	
  in	
  the	
  
source	
  code	
  and	
  changes	
  in	
  the	
  database	
  
schema	
  
• Study	
  social	
  aspects
18
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
References
• M.	
  Goeminne,	
  T.	
  Mens.	
  Towards	
  a	
  survival	
  analysis	
  of	
  database	
  
framework	
  usage	
  in	
  Java	
  projects.	
  ICSME	
  2015	
  ERA	
  track	
  
• M.	
  Goeminne,	
  A.	
  Decan,	
  T.	
  Mens.	
  Co-­‐evolving	
  code-­‐related	
  and	
  
database-­‐related	
  changes	
  in	
  a	
  data-­‐intensive	
  soQware	
  system.	
  
CSMR-­‐WCRE	
  2014	
  ERA	
  track	
  	
  
• L.	
  Meurice,	
  A.	
  Cleve.	
  DAHLIA:	
  A	
  visual	
  analyzer	
  of	
  database	
  schema	
  
evoluDon.	
  CSMR-­‐WCRE	
  2014	
  Tool	
  Demo	
  
• A.	
  Cleve,	
  T.	
  Mens,	
  J.-­‐L.	
  Hainaut.	
  Data-­‐intensive	
  system	
  evoluHon,	
  
IEEE	
  Computer	
  43(8):	
  110-­‐112	
  (2010)	
  
• A.	
  Cleve,	
  M.	
  Gobert,	
  L.	
  Meurice,	
  J.	
  Maes,	
  J.	
  Weber.	
  Understanding	
  
database	
  schema	
  evoluHon:	
  A	
  case	
  study,	
  Science	
  of	
  Computer	
  
Programming	
  (2013)
19
September	
  2015	
  —	
  InternaHonal	
  Conference	
  on	
  So?ware	
  Maintenance	
  and	
  EvoluHon	
  
(ICSME2015),	
  Bremen,	
  Germany
References
X
!
!
Evolving Software Systems
Mens, Tom; Serebrenik, Alexander; Cleve, Anthony (Eds.)
2014, XXIII, 404 p.
!
Springer, ISBN 978-3-642-45398-4

Más contenido relacionado

La actualidad más candente

Social and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software EcosystemSocial and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software EcosystemTom Mens
 
Big(ger) Data in Software Engineering
Big(ger) Data in Software EngineeringBig(ger) Data in Software Engineering
Big(ger) Data in Software EngineeringMehdi Mirakhorli
 
Modeling software systems at a macroscopic scale
Modeling software systems  at a macroscopic scaleModeling software systems  at a macroscopic scale
Modeling software systems at a macroscopic scaleRalf Laemmel
 
Software Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software EngineeringSoftware Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software EngineeringTao Xie
 
Transferring Software Testing Tools to Practice
Transferring Software Testing Tools to PracticeTransferring Software Testing Tools to Practice
Transferring Software Testing Tools to PracticeTao Xie
 
Runtime Behavior of JavaScript Programs
Runtime Behavior of JavaScript ProgramsRuntime Behavior of JavaScript Programs
Runtime Behavior of JavaScript ProgramsIRJET Journal
 
DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006santa
 
Why We Refactor? Confessions of GitHub Contributors
Why We Refactor? Confessions of GitHub ContributorsWhy We Refactor? Confessions of GitHub Contributors
Why We Refactor? Confessions of GitHub ContributorsNikolaos Tsantalis
 
Advances in Unit Testing: Theory and Practice
Advances in Unit Testing: Theory and PracticeAdvances in Unit Testing: Theory and Practice
Advances in Unit Testing: Theory and PracticeTao Xie
 
Improving Software Maintenance using Unsupervised Machine Learning techniques
Improving Software Maintenance using Unsupervised Machine Learning techniquesImproving Software Maintenance using Unsupervised Machine Learning techniques
Improving Software Maintenance using Unsupervised Machine Learning techniquesValerio Maggio
 
Histolab: an Open Source Python Library for Reproducible Digital Pathology
Histolab: an Open Source Python Library for Reproducible Digital PathologyHistolab: an Open Source Python Library for Reproducible Digital Pathology
Histolab: an Open Source Python Library for Reproducible Digital PathologyAlessia Marcolini
 
Software Analytics: Towards Software Mining that Matters
Software Analytics: Towards Software Mining that MattersSoftware Analytics: Towards Software Mining that Matters
Software Analytics: Towards Software Mining that MattersTao Xie
 
[Thomas chamberlain] learning_om_ne_t++(z-lib.org)
[Thomas chamberlain] learning_om_ne_t++(z-lib.org)[Thomas chamberlain] learning_om_ne_t++(z-lib.org)
[Thomas chamberlain] learning_om_ne_t++(z-lib.org)wissem hammouda
 
Doctoral Consortium@RuleML2015: Seamless Cooperation of JAVA and PROLOG for ...
Doctoral Consortium@RuleML2015:  Seamless Cooperation of JAVA and PROLOG for ...Doctoral Consortium@RuleML2015:  Seamless Cooperation of JAVA and PROLOG for ...
Doctoral Consortium@RuleML2015: Seamless Cooperation of JAVA and PROLOG for ...RuleML
 
Mining Software Repositories
Mining Software RepositoriesMining Software Repositories
Mining Software RepositoriesIsrael Herraiz
 
Early Detection of Collaboration Conflicts & Risks in Software Development
Early Detection of Collaboration Conflicts & Risks in Software DevelopmentEarly Detection of Collaboration Conflicts & Risks in Software Development
Early Detection of Collaboration Conflicts & Risks in Software DevelopmentRoopesh Jhurani
 

La actualidad más candente (20)

Social and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software EcosystemSocial and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software Ecosystem
 
Big(ger) Data in Software Engineering
Big(ger) Data in Software EngineeringBig(ger) Data in Software Engineering
Big(ger) Data in Software Engineering
 
Modeling software systems at a macroscopic scale
Modeling software systems  at a macroscopic scaleModeling software systems  at a macroscopic scale
Modeling software systems at a macroscopic scale
 
Software Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software EngineeringSoftware Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software Engineering
 
Transferring Software Testing Tools to Practice
Transferring Software Testing Tools to PracticeTransferring Software Testing Tools to Practice
Transferring Software Testing Tools to Practice
 
Runtime Behavior of JavaScript Programs
Runtime Behavior of JavaScript ProgramsRuntime Behavior of JavaScript Programs
Runtime Behavior of JavaScript Programs
 
DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006
 
Reproducible Science and Deep Software Variability
Reproducible Science and Deep Software VariabilityReproducible Science and Deep Software Variability
Reproducible Science and Deep Software Variability
 
Why We Refactor? Confessions of GitHub Contributors
Why We Refactor? Confessions of GitHub ContributorsWhy We Refactor? Confessions of GitHub Contributors
Why We Refactor? Confessions of GitHub Contributors
 
Advances in Unit Testing: Theory and Practice
Advances in Unit Testing: Theory and PracticeAdvances in Unit Testing: Theory and Practice
Advances in Unit Testing: Theory and Practice
 
Software Variability and Artificial Intelligence
Software Variability and Artificial IntelligenceSoftware Variability and Artificial Intelligence
Software Variability and Artificial Intelligence
 
Improving Software Maintenance using Unsupervised Machine Learning techniques
Improving Software Maintenance using Unsupervised Machine Learning techniquesImproving Software Maintenance using Unsupervised Machine Learning techniques
Improving Software Maintenance using Unsupervised Machine Learning techniques
 
Histolab: an Open Source Python Library for Reproducible Digital Pathology
Histolab: an Open Source Python Library for Reproducible Digital PathologyHistolab: an Open Source Python Library for Reproducible Digital Pathology
Histolab: an Open Source Python Library for Reproducible Digital Pathology
 
Software Analytics: Towards Software Mining that Matters
Software Analytics: Towards Software Mining that MattersSoftware Analytics: Towards Software Mining that Matters
Software Analytics: Towards Software Mining that Matters
 
[Thomas chamberlain] learning_om_ne_t++(z-lib.org)
[Thomas chamberlain] learning_om_ne_t++(z-lib.org)[Thomas chamberlain] learning_om_ne_t++(z-lib.org)
[Thomas chamberlain] learning_om_ne_t++(z-lib.org)
 
Doctoral Consortium@RuleML2015: Seamless Cooperation of JAVA and PROLOG for ...
Doctoral Consortium@RuleML2015:  Seamless Cooperation of JAVA and PROLOG for ...Doctoral Consortium@RuleML2015:  Seamless Cooperation of JAVA and PROLOG for ...
Doctoral Consortium@RuleML2015: Seamless Cooperation of JAVA and PROLOG for ...
 
Metamorphic Domain-Specific Languages
Metamorphic Domain-Specific LanguagesMetamorphic Domain-Specific Languages
Metamorphic Domain-Specific Languages
 
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
 
Mining Software Repositories
Mining Software RepositoriesMining Software Repositories
Mining Software Repositories
 
Early Detection of Collaboration Conflicts & Risks in Software Development
Early Detection of Collaboration Conflicts & Risks in Software DevelopmentEarly Detection of Collaboration Conflicts & Risks in Software Development
Early Detection of Collaboration Conflicts & Risks in Software Development
 

Destacado

Node.jsでデータ収集して デスクトップアプリを作ろう!
Node.jsでデータ収集して デスクトップアプリを作ろう!Node.jsでデータ収集して デスクトップアプリを作ろう!
Node.jsでデータ収集して デスクトップアプリを作ろう!松田 千尋
 
Bảng phân tích tốt nghiêp
Bảng phân tích tốt nghiêpBảng phân tích tốt nghiêp
Bảng phân tích tốt nghiêpKe Nhung
 
Så får du kunderna att klicka på Köp
Så får du kunderna att klicka på KöpSå får du kunderna att klicka på Köp
Så får du kunderna att klicka på KöpConversionista
 
Webのグラフィックス2016 WebGL事例
Webのグラフィックス2016 WebGL事例Webのグラフィックス2016 WebGL事例
Webのグラフィックス2016 WebGL事例Daisuke Shigyou
 
Tips voor een goede digitale overheid
Tips voor een goede digitale overheidTips voor een goede digitale overheid
Tips voor een goede digitale overheidAGConsult
 
Punta alla soluzione - Al Complexity Literacy Meeting il libro presentato da ...
Punta alla soluzione - Al Complexity Literacy Meeting il libro presentato da ...Punta alla soluzione - Al Complexity Literacy Meeting il libro presentato da ...
Punta alla soluzione - Al Complexity Literacy Meeting il libro presentato da ...Complexity Institute
 
Smartphone bezoekers converteren: hoe doe je dat?
Smartphone bezoekers converteren: hoe doe je dat?Smartphone bezoekers converteren: hoe doe je dat?
Smartphone bezoekers converteren: hoe doe je dat?AGConsult
 
B2B websites: hoe klanten maken van je bezoekers?
B2B websites: hoe klanten maken van je bezoekers?B2B websites: hoe klanten maken van je bezoekers?
B2B websites: hoe klanten maken van je bezoekers?AGConsult
 
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -Ryoya Kawai
 
第三回生活デザインコンテスト イベント・フォローアップ企画書
第三回生活デザインコンテスト イベント・フォローアップ企画書第三回生活デザインコンテスト イベント・フォローアップ企画書
第三回生活デザインコンテスト イベント・フォローアップ企画書sonycsl
 
#FlipMyFunnel - 8 Ways to Integrated Account-Based Marketing with your Sales ...
#FlipMyFunnel - 8 Ways to Integrated Account-Based Marketing with your Sales ...#FlipMyFunnel - 8 Ways to Integrated Account-Based Marketing with your Sales ...
#FlipMyFunnel - 8 Ways to Integrated Account-Based Marketing with your Sales ...Heinz Marketing Inc
 

Destacado (14)

Node.jsでデータ収集して デスクトップアプリを作ろう!
Node.jsでデータ収集して デスクトップアプリを作ろう!Node.jsでデータ収集して デスクトップアプリを作ろう!
Node.jsでデータ収集して デスクトップアプリを作ろう!
 
Prashant Rathod Resume
Prashant Rathod Resume Prashant Rathod Resume
Prashant Rathod Resume
 
Bảng phân tích tốt nghiêp
Bảng phân tích tốt nghiêpBảng phân tích tốt nghiêp
Bảng phân tích tốt nghiêp
 
Så får du kunderna att klicka på Köp
Så får du kunderna att klicka på KöpSå får du kunderna att klicka på Köp
Så får du kunderna att klicka på Köp
 
Quimica II: Enlace quimico
Quimica II: Enlace quimicoQuimica II: Enlace quimico
Quimica II: Enlace quimico
 
Webのグラフィックス2016 WebGL事例
Webのグラフィックス2016 WebGL事例Webのグラフィックス2016 WebGL事例
Webのグラフィックス2016 WebGL事例
 
Tips voor een goede digitale overheid
Tips voor een goede digitale overheidTips voor een goede digitale overheid
Tips voor een goede digitale overheid
 
Punta alla soluzione - Al Complexity Literacy Meeting il libro presentato da ...
Punta alla soluzione - Al Complexity Literacy Meeting il libro presentato da ...Punta alla soluzione - Al Complexity Literacy Meeting il libro presentato da ...
Punta alla soluzione - Al Complexity Literacy Meeting il libro presentato da ...
 
Smartphone bezoekers converteren: hoe doe je dat?
Smartphone bezoekers converteren: hoe doe je dat?Smartphone bezoekers converteren: hoe doe je dat?
Smartphone bezoekers converteren: hoe doe je dat?
 
B2B websites: hoe klanten maken van je bezoekers?
B2B websites: hoe klanten maken van je bezoekers?B2B websites: hoe klanten maken van je bezoekers?
B2B websites: hoe klanten maken van je bezoekers?
 
Html5/JSモバイルアプリ最前線
Html5/JSモバイルアプリ最前線Html5/JSモバイルアプリ最前線
Html5/JSモバイルアプリ最前線
 
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
AudioとガジェットをWebで遊ぶ - Web Audio/MIDI Web Bluetooth -
 
第三回生活デザインコンテスト イベント・フォローアップ企画書
第三回生活デザインコンテスト イベント・フォローアップ企画書第三回生活デザインコンテスト イベント・フォローアップ企画書
第三回生活デザインコンテスト イベント・フォローアップ企画書
 
#FlipMyFunnel - 8 Ways to Integrated Account-Based Marketing with your Sales ...
#FlipMyFunnel - 8 Ways to Integrated Account-Based Marketing with your Sales ...#FlipMyFunnel - 8 Ways to Integrated Account-Based Marketing with your Sales ...
#FlipMyFunnel - 8 Ways to Integrated Account-Based Marketing with your Sales ...
 

Similar a Survival analysis of database technologies in open source Java projects

Software Development for the Cloud - Trends, Opportunities, and Challenges
Software Development for the Cloud - Trends, Opportunities, and ChallengesSoftware Development for the Cloud - Trends, Opportunities, and Challenges
Software Development for the Cloud - Trends, Opportunities, and ChallengesPhilipp Leitner
 
Software engineering
Software engineeringSoftware engineering
Software engineeringRohan Bhatkar
 
BuildingSMART Standards Summit 2015 - Technical Room - Linked Data for Constr...
BuildingSMART Standards Summit 2015 - Technical Room - Linked Data for Constr...BuildingSMART Standards Summit 2015 - Technical Room - Linked Data for Constr...
BuildingSMART Standards Summit 2015 - Technical Room - Linked Data for Constr...Pieter Pauwels
 
Continuous Software Engineering - A tutorial
Continuous Software Engineering - A tutorialContinuous Software Engineering - A tutorial
Continuous Software Engineering - A tutorialBreno de França
 
DevSecOps in the Cloud from the Lens of a Well-Architected Framework.pptx
DevSecOps in the Cloud from the Lens of a  Well-Architected Framework.pptxDevSecOps in the Cloud from the Lens of a  Well-Architected Framework.pptx
DevSecOps in the Cloud from the Lens of a Well-Architected Framework.pptxTurja Narayan Chaudhuri
 
Dataverse in the European Open Science Cloud
Dataverse in the European Open Science CloudDataverse in the European Open Science Cloud
Dataverse in the European Open Science Cloudvty
 
ClouNS - A Cloud-native Application Reference Model for Enterprise Architects
ClouNS - A Cloud-native Application Reference Model for Enterprise ArchitectsClouNS - A Cloud-native Application Reference Model for Enterprise Architects
ClouNS - A Cloud-native Application Reference Model for Enterprise ArchitectsNane Kratzke
 
Puppet plugin for vRealize Automation (vRA)
Puppet plugin for vRealize Automation (vRA)Puppet plugin for vRealize Automation (vRA)
Puppet plugin for vRealize Automation (vRA)Puppet
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformNuxeo
 
Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Philipp Leitner
 
IoT Development; Managing hardware and software Development
IoT Development; Managing hardware and software DevelopmentIoT Development; Managing hardware and software Development
IoT Development; Managing hardware and software DevelopmentIntland Software GmbH
 
Deploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragilityDeploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragilitySpyros Lambrinidis
 
The Cloudification Perspectives of Search-based Software Testing
The Cloudification Perspectives of Search-based Software TestingThe Cloudification Perspectives of Search-based Software Testing
The Cloudification Perspectives of Search-based Software TestingSebastiano Panichella
 
A Tool for Optimizing Java 8 Stream Software via Automated Refactoring
A Tool for Optimizing Java 8 Stream Software via Automated RefactoringA Tool for Optimizing Java 8 Stream Software via Automated Refactoring
A Tool for Optimizing Java 8 Stream Software via Automated RefactoringRaffi Khatchadourian
 
CloudLightning and the OPM-based Use Case
CloudLightning and the OPM-based Use CaseCloudLightning and the OPM-based Use Case
CloudLightning and the OPM-based Use CaseCloudLightning
 
The Liquid Computing Paradigm
The Liquid Computing ParadigmThe Liquid Computing Paradigm
The Liquid Computing ParadigmFoCAS Initiative
 
Metaflow: The ML Infrastructure at Netflix
Metaflow: The ML Infrastructure at NetflixMetaflow: The ML Infrastructure at Netflix
Metaflow: The ML Infrastructure at NetflixBill Liu
 

Similar a Survival analysis of database technologies in open source Java projects (20)

Swise arc2015
Swise arc2015Swise arc2015
Swise arc2015
 
Software Development for the Cloud - Trends, Opportunities, and Challenges
Software Development for the Cloud - Trends, Opportunities, and ChallengesSoftware Development for the Cloud - Trends, Opportunities, and Challenges
Software Development for the Cloud - Trends, Opportunities, and Challenges
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
BuildingSMART Standards Summit 2015 - Technical Room - Linked Data for Constr...
BuildingSMART Standards Summit 2015 - Technical Room - Linked Data for Constr...BuildingSMART Standards Summit 2015 - Technical Room - Linked Data for Constr...
BuildingSMART Standards Summit 2015 - Technical Room - Linked Data for Constr...
 
Continuous Software Engineering - A tutorial
Continuous Software Engineering - A tutorialContinuous Software Engineering - A tutorial
Continuous Software Engineering - A tutorial
 
DevSecOps in the Cloud from the Lens of a Well-Architected Framework.pptx
DevSecOps in the Cloud from the Lens of a  Well-Architected Framework.pptxDevSecOps in the Cloud from the Lens of a  Well-Architected Framework.pptx
DevSecOps in the Cloud from the Lens of a Well-Architected Framework.pptx
 
2016 nov-ieee-sdn-wiki
2016 nov-ieee-sdn-wiki2016 nov-ieee-sdn-wiki
2016 nov-ieee-sdn-wiki
 
Dataverse in the European Open Science Cloud
Dataverse in the European Open Science CloudDataverse in the European Open Science Cloud
Dataverse in the European Open Science Cloud
 
ClouNS - A Cloud-native Application Reference Model for Enterprise Architects
ClouNS - A Cloud-native Application Reference Model for Enterprise ArchitectsClouNS - A Cloud-native Application Reference Model for Enterprise Architects
ClouNS - A Cloud-native Application Reference Model for Enterprise Architects
 
Puppet plugin for vRealize Automation (vRA)
Puppet plugin for vRealize Automation (vRA)Puppet plugin for vRealize Automation (vRA)
Puppet plugin for vRealize Automation (vRA)
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platform
 
Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015
 
IoT Development; Managing hardware and software Development
IoT Development; Managing hardware and software DevelopmentIoT Development; Managing hardware and software Development
IoT Development; Managing hardware and software Development
 
Deploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragilityDeploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragility
 
Anastasios_Fakas
Anastasios_FakasAnastasios_Fakas
Anastasios_Fakas
 
The Cloudification Perspectives of Search-based Software Testing
The Cloudification Perspectives of Search-based Software TestingThe Cloudification Perspectives of Search-based Software Testing
The Cloudification Perspectives of Search-based Software Testing
 
A Tool for Optimizing Java 8 Stream Software via Automated Refactoring
A Tool for Optimizing Java 8 Stream Software via Automated RefactoringA Tool for Optimizing Java 8 Stream Software via Automated Refactoring
A Tool for Optimizing Java 8 Stream Software via Automated Refactoring
 
CloudLightning and the OPM-based Use Case
CloudLightning and the OPM-based Use CaseCloudLightning and the OPM-based Use Case
CloudLightning and the OPM-based Use Case
 
The Liquid Computing Paradigm
The Liquid Computing ParadigmThe Liquid Computing Paradigm
The Liquid Computing Paradigm
 
Metaflow: The ML Infrastructure at Netflix
Metaflow: The ML Infrastructure at NetflixMetaflow: The ML Infrastructure at Netflix
Metaflow: The ML Infrastructure at Netflix
 

Más de Tom Mens

How to be(come) a successful PhD student
How to be(come) a successful PhD studentHow to be(come) a successful PhD student
How to be(come) a successful PhD studentTom Mens
 
Recognising bot activity in collaborative software development
Recognising bot activity in collaborative software developmentRecognising bot activity in collaborative software development
Recognising bot activity in collaborative software developmentTom Mens
 
A Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHubA Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHubTom Mens
 
The (r)evolution of CI/CD on GitHub
 The (r)evolution of CI/CD on GitHub The (r)evolution of CI/CD on GitHub
The (r)evolution of CI/CD on GitHubTom Mens
 
Nurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the FutureNurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the FutureTom Mens
 
Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?Tom Mens
 
On the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubOn the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubTom Mens
 
On backporting practices in package dependency networks
On backporting practices in package dependency networksOn backporting practices in package dependency networks
On backporting practices in package dependency networksTom Mens
 
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsComparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsTom Mens
 
Lost in Zero Space
Lost in Zero SpaceLost in Zero Space
Lost in Zero SpaceTom Mens
 
Evaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messagesEvaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messagesTom Mens
 
Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!Tom Mens
 
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Tom Mens
 
On the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystemsOn the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystemsTom Mens
 
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...Tom Mens
 
Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Tom Mens
 
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Tom Mens
 
SecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsSecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsTom Mens
 
SECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarSECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarTom Mens
 
Empirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersEmpirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersTom Mens
 

Más de Tom Mens (20)

How to be(come) a successful PhD student
How to be(come) a successful PhD studentHow to be(come) a successful PhD student
How to be(come) a successful PhD student
 
Recognising bot activity in collaborative software development
Recognising bot activity in collaborative software developmentRecognising bot activity in collaborative software development
Recognising bot activity in collaborative software development
 
A Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHubA Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHub
 
The (r)evolution of CI/CD on GitHub
 The (r)evolution of CI/CD on GitHub The (r)evolution of CI/CD on GitHub
The (r)evolution of CI/CD on GitHub
 
Nurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the FutureNurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the Future
 
Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?
 
On the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubOn the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHub
 
On backporting practices in package dependency networks
On backporting practices in package dependency networksOn backporting practices in package dependency networks
On backporting practices in package dependency networks
 
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsComparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
 
Lost in Zero Space
Lost in Zero SpaceLost in Zero Space
Lost in Zero Space
 
Evaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messagesEvaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messages
 
Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!
 
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
 
On the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystemsOn the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystems
 
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
 
Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)
 
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
 
SecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsSecoHealth 2019 Research Achievements
SecoHealth 2019 Research Achievements
 
SECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarSECO-Assist 2019 research seminar
SECO-Assist 2019 research seminar
 
Empirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersEmpirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package Managers
 

Último

Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verifiedConnaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfSumit Kumar yadav
 
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)Joonhun Lee
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)Areesha Ahmad
 
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑Damini Dixit
 
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'ceuticssakshisoni2385
 
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 AgencySheetal Arora
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfSumit Kumar yadav
 
GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)Areesha Ahmad
 
Factory Acceptance Test( FAT).pptx .
Factory Acceptance Test( FAT).pptx       .Factory Acceptance Test( FAT).pptx       .
Factory Acceptance Test( FAT).pptx .Poonam Aher Patil
 
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 bSérgio Sacani
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfrohankumarsinghrore1
 
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxSCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxRizalinePalanog2
 
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryFAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryAlex Henderson
 
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...Monika Rani
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 
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.pdfPirithiRaju
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPirithiRaju
 
Justdial Call Girls In Indirapuram, Ghaziabad, 8800357707 Escorts Service
Justdial Call Girls In Indirapuram, Ghaziabad, 8800357707 Escorts ServiceJustdial Call Girls In Indirapuram, Ghaziabad, 8800357707 Escorts Service
Justdial Call Girls In Indirapuram, Ghaziabad, 8800357707 Escorts Servicemonikaservice1
 

Último (20)

Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verifiedConnaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdf
 
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)
 
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
 
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
 
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
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdf
 
GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)
 
CELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdfCELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdf
 
Factory Acceptance Test( FAT).pptx .
Factory Acceptance Test( FAT).pptx       .Factory Acceptance Test( FAT).pptx       .
Factory Acceptance Test( FAT).pptx .
 
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
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdf
 
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxSCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
 
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryFAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
 
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
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
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
 
Justdial Call Girls In Indirapuram, Ghaziabad, 8800357707 Escorts Service
Justdial Call Girls In Indirapuram, Ghaziabad, 8800357707 Escorts ServiceJustdial Call Girls In Indirapuram, Ghaziabad, 8800357707 Escorts Service
Justdial Call Girls In Indirapuram, Ghaziabad, 8800357707 Escorts Service
 

Survival analysis of database technologies in open source Java projects

  • 1. Survival  Analysis  of  Database  Technologies   in  Open  Source  Java  Projects Mathieu  Goeminne,  Tom  Mens   So?ware  Engineering  Lab,  University  of  Mons,  Belgium hEp://informaHque.umons.ac.be/genlog/projects/disse ICSME  2015  Early  Research  Achievements  —  Bremen,  Germany,  September  2015
  • 2. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany Context • FNRS  research  project  “Data-­‐Intensive  So?ware  System   EvoluHon”   – Interuniversity  collaboraHon  with  Université  de  Namur   •Expand  empirical  MSR  research  to  include  database-­‐ related  acHviHes   • Overall  goal   – Empirically  analyse  and  support  co-­‐evoluHon  between   program  code  and  database  schema  in  data-­‐intensive   so?ware  systems   • This  paper:   – Study  co-­‐evoluHon  of  Java  ORM  database  technologies
  • 3. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany Focus • Open  source  Java  projects   – Extracted  from  GitHub  Java  Corpus
 [Allamanis&SuEon  —  MSR  2013]   – We  considered  13,307  Java  projects  sHll   having  a  Git  repository  in  March  2015 3
  • 4. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany Focus • Many  Java  relaHonal  database  technologies 4
  • 5. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany Focus • Java  relaHonal  database  technologies 5
  • 6. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany Focus • Java  relaHonal  database  technologies   • 19  different  Java  technologies  considered
 (of  at  least  3  years  old)   • Detected  by  looking  at
 import  statements  and
 configuraDon  files   • This  le?  us  with  3,819  Java  projects 6
  • 7. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany Focus • Top  5  technologies  occurred  in  over  200  projects  each   • 3,707  Java  projects  used  (at  least)  one  of  these  5   technologies 7 200
  • 8. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany Research  QuesHons RQ1    Which  combinaHons  of  database   technologies  co-­‐occur  in  the  projects  in  which   they  are  used?   RQ2    How  long  do  database  technologies  survive   in  the  projects  in  which  they  occur?   RQ3    Does  the  introducHon  of  a  technology   influence  the  survivability  of  another  one?   RQ4    How  long  does  it  take  to  introduce  a  second   technology  a?er  a  previous  one  was  introduced? 8
  • 9. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany Different  technologies  used  within  the  same  Java   project  (not  necessarily  at  the  same  Hme) (61%) RQ1    Which  combinaHons  of  technologies  co-­‐ occur  in  the  projects  in  which  they  are  used? 9 (34,5%)
  • 10. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany RQ1    Which  combinaHons  of  technologies  co-­‐ occur  in  the  projects  in  which  they  are  used? • How  frequently  do  these  technologies  actually   co-­‐occur?   • Answer:  most  of  the  Hme! 10 t e s ” s d e f s k s r a given number of distinct frameworks over their entire history, and horizontally the maximum number of distinct “co-occurring” frameworks. Almost all values reside on the diagonal, implying that in the large majority of all cases (97.5%, i.e., 1213/1273), different database frameworks used in a project tend to co-occur. TABLE II NUMBER OF PROJECTS INVOLVING A GIVEN NUMBER OF FRAMEWORKS, OVER THEIR ENTIRE LIFETIME AND IN CO-OCCURRENCE. # co-occurring fw. ! 1 2 3 4 5 # total # frameworks used 1 2,443 2 22 776 3 2 16 328 4 0 0 18 104 5 0 0 1 1 5 Focusing on specific combinations of frameworks, Table III reports the number of projects in which two database frame-
  • 11. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany RQ1    Which  combinaHons  of  technologies  co-­‐ occur  in  the  projects  in  which  they  are  used? • JDBC  co-­‐occurs  with  most  other  technologies   • Spring  and  JPA  co-­‐occur  very  frequently   • Vaadin  occurs  infrequently  with  Hibernate,  JPA,  Spring 11 the other frameworks. 80.1% of all projects that used Hibernate have also used JDBC in co-occurrence; 48.4% of all projects that used JPA have used JDBC in co-occurrence; 41.3% of all projects that used Spring have used JDBC in co-occurrence; and 39.6% of all projects that used Vaadin have used JDBC in co-occurrence. TABLE III NUMBER OF PROJECTS IN WHICH PAIRS OF DATABASE FRAMEWORKS CO-OCCUR. Spring JPA Vaadin Hibernate JDBC 645 565 143 192 Spring 558 76 156 JPA 98 105 Vaadin 22
  • 12. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany RQ2    How  long  do  database  technologies   survive  in  the  projects  in  which  they  occur? • Use  staHsHcal  technique  of  survival  analysis   • Kaplan-­‐Meier  esHmator  represents  probability   to  survive  (i.e.,  the  Hme  it  takes  for  a  specific   event    to  occur)   • Takes  into  account  right-­‐censored  data  (e.g.,   the  event  did  not  occur  yet) 12
  • 13. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany RQ2    How  long  do  database  technologies   survive  in  the  projects  in  which  they  occur? • Most  technologies  tend  to  survive  (>50%   probability)  over  the  project’s  lifeHme   • A  bit  less  for  Vaadin  and  Hibernate 13
  • 14. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany RQ3    Does  the  introducHon  of  a  technology   influence  the  survivability  of  another  one? • Visually  we  observe  slightly  improved  survival  for  some   combinaHons;  but  staDsDcally  insignificant 14 0 1000 2000 3000 4000 5000 6000 0.00.20.40.60.81.0 C2 C1 A = spring B = jdbc 0 1000 2000 3000 4000 5000 6000 0.00.20.40.60.81.0 C2 C1 A = jdbc B = spring
  • 15. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany Effect  of  project  size? • Project  size  and  age  follow  a  log-­‐normal  distribuHon   • How  does  this  affect  the  results?   – Split  projects  in  two  equal  bins  according  to  project  size,   and  compare  results 15 Time  unDl  technology  introducDon • Technologies  tend  to  be   introduced  at  the  start  of   the  project   • Some  small  projects  also   introduce  technologies   near  the  end  their   observed  lifeHme  
  • 16. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany RQ4    How  long  does  it  take  to  introduce  a  second   technology  a?er  a  previous  one  was  introduced? • Small  projects  are  less  likely  to  introduce  a  second  technology,  and  do  it  later   • JDBC  is  rarely  completed  with  another  technology   • Hibernate  is  o?en  quickly  completed  with  (or  replaced  by)  another  techno   16
  • 17. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany Conclusions • Some  technologies  are  much  more  popular  than  others   – JDBC,  JPA,  Hibernate,  Spring   • Different  Java  database  technologies  tend  to  co-­‐occur  together   – Especially  in  the  larger  Java  projects   • Technologies,  once  introduced,  tend  to  remain   • Introducing  new  technos  does  not  “replace”  exisHng  ones  but   rather  “complements”  them   – Survival  of  exisHng  technologies  is  not  negaHvely  affected   • Big  projects  tend  to  behave  differently  than  small  ones   • Many  technologies  are  used  in  combinaHon  with  JDBC;  but   JDBC  is  also  o?en  used  in  isolaHon 17
  • 18. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany Future  Work • Analyse  co-­‐occurrence  of  technologies  at  finer   level  of  granularity     • Look  at  NoSQL  database  technologies   • Study  co-­‐evoluHon  between  changes  in  the   source  code  and  changes  in  the  database   schema   • Study  social  aspects 18
  • 19. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany References • M.  Goeminne,  T.  Mens.  Towards  a  survival  analysis  of  database   framework  usage  in  Java  projects.  ICSME  2015  ERA  track   • M.  Goeminne,  A.  Decan,  T.  Mens.  Co-­‐evolving  code-­‐related  and   database-­‐related  changes  in  a  data-­‐intensive  soQware  system.   CSMR-­‐WCRE  2014  ERA  track     • L.  Meurice,  A.  Cleve.  DAHLIA:  A  visual  analyzer  of  database  schema   evoluDon.  CSMR-­‐WCRE  2014  Tool  Demo   • A.  Cleve,  T.  Mens,  J.-­‐L.  Hainaut.  Data-­‐intensive  system  evoluHon,   IEEE  Computer  43(8):  110-­‐112  (2010)   • A.  Cleve,  M.  Gobert,  L.  Meurice,  J.  Maes,  J.  Weber.  Understanding   database  schema  evoluHon:  A  case  study,  Science  of  Computer   Programming  (2013) 19
  • 20. September  2015  —  InternaHonal  Conference  on  So?ware  Maintenance  and  EvoluHon   (ICSME2015),  Bremen,  Germany References X ! ! Evolving Software Systems Mens, Tom; Serebrenik, Alexander; Cleve, Anthony (Eds.) 2014, XXIII, 404 p. ! Springer, ISBN 978-3-642-45398-4