SlideShare a Scribd company logo
1 of 24
Download to read offline
Co-­‐Evolving	
  Changes	
  in	
  a
Data-­‐Intensive	
  So3ware	
  System
Mathieu	
  Goeminne,	
  Alexandre	
  Decan,	
  Tom	
  Mens	
  
Service	
  de	
  Génie	
  Logiciel,	
  Université	
  de	
  Mons
hDp://informaIque.umons.ac.be/genlog/projects/disse
EOSESE	
  2014	
  European	
  Open	
  Symposium	
  on	
  Empirical	
  So6ware	
  Engineering	
  -­‐	
  July	
  2014
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
Context
• FNRS	
  Projet	
  de	
  Recherche	
  “Data-­‐Intensive	
  So3ware	
  System	
  EvoluIon”	
  
– Interuniversity	
  collaboraIon	
  with	
  Anthony	
  Cleve	
  and	
  Loup	
  Meurice	
  
(University	
  of	
  Namur)	
  
• Overall	
  goal	
  
– Expand	
  empirical	
  MSR	
  research	
  to	
  include	
  database-­‐related	
  acIviIes	
  	
  
– Analyse	
  and	
  support	
  co-­‐evoluIon	
  between	
  program	
  code	
  and	
  
database	
  (schema)	
  in	
  data-­‐intensive	
  so3ware	
  systems	
  
• Approach	
  
– Develop	
  generic	
  framework	
  
– Implement	
  dedicated	
  analysis	
  and	
  visualisaIon	
  tools	
  
– Carry	
  out	
  empirical	
  case	
  studies
2
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
Research	
  QuesIons
• Code-­‐centric	
  focus	
  
– RQ1:	
  How	
  does	
  the	
  relaIon	
  between

how	
  source	
  code	
  files	
  and

database-­‐related	
  files	
  evolve?	
  
– RQ2:	
  What’s	
  the	
  effect	
  of	
  introducing

a	
  parIcular	
  persistency	
  technology	
  
(Hibernate,	
  JPA)?	
  
• Social	
  focus	
  
– RQ3:	
  How	
  do	
  developers	
  divide	
  their

work	
  and	
  how	
  does	
  this	
  evolve	
  over	
  Ime?
3
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
Case	
  Study
4
characteris/c value
duraIon 3,939	
  days	
  (	
  >	
  129	
  months)
dates from	
  Nov	
  2002	
  Ill	
  Aug	
  2013

number	
  of	
  commits 18,727
number	
  of	
  disInct	
  files 20,718	
  (of	
  which	
  54%	
  code	
  files)
number	
  of	
  file	
  touches 93,721
number	
  of	
  disInct	
  developers 100
Official	
  repository hDps://github.com/scoophealth/oscar.git
A	
  Java	
  Electronical	
  Medical	
  Record	
  system
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
EvoluIon	
  of	
  OSCAR

	
  Code	
  dimension
• 3-­‐Ier	
  web	
  applicaIon	
  wriDen	
  in	
  Java	
  and	
  JSP
5
0%#
10%#
20%#
30%#
40%#
50%#
60%#
70%#
80%#
90%#
100%#
2003-07#
2004-01#
2004-07#
2005-01#
2005-07#
2006-01#
2006-07#
2007-01#
2007-07#
2008-01#
2008-07#
2009-01#
2009-07#
2010-01#
2010-07#
2011-01#
2011-07#
2012-01#
2012-07#
2013-01#
jsp#
java#
Monthly	
  aggregated	
  proporIon	
  of	
  JSP	
  and	
  Java	
  files
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
EvoluIon	
  of	
  OSCAR

Social	
  Dimension
• Monthly	
  number	
  of	
  disInct	
  acIve	
  developers	
  
for	
  OSCAR	
  
	
   (a3er	
  idenIty	
  merging)
6
0"
5"
10"
15"
20"
25"
2003'07"
2004'01"
2004'07"
2005'01"
2005'07"
2006'01"
2006'07"
2007'01"
2007'07"
2008'01"
2008'07"
2009'01"
2009'07"
2010'01"
2010'07"
2011'01"
2011'07"
2012'01"
2012'07"
2013'01"
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
EvoluIon	
  of	
  OSCAR

Code	
  dimension
• Number	
  of	
  source	
  code	
  files	
  w.r.t.

database-­‐related	
  files
7
0"
1000"
2000"
3000"
4000"
5000"
6000"
2003)07"
2004)01"
2004)07"
2005)01"
2005)07"
2006)01"
2006)07"
2007)01"
2007)07"
2008)01"
2008)07"
2009)01"
2009)07"
2010)01"
2010)07"
2011)01"
2011)07"
2012)01"
2012)07"
2013)01"
pure"
sql"
sql	
  =	
  code	
  files	
  containing	
  embedded	
  SQL	
  statements
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
EvoluIon	
  of	
  OSCAR	
  
Social	
  Dimension
• How	
  does	
  the	
  acIvity	
  of	
  developers	
  evolve	
  
over	
  Ime?
8
Developer
monthly	
  aggregated	
  number	
  of	
  file	
  touches	
  
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
Introducing	
  Persistency

Provider	
  in	
  OSCAR
• Hibernate	
  
– introduced	
  in	
  OSCAR	
  since	
  July	
  2006	
  
– Java	
  object-­‐relaIonal	
  mapping	
  (ORM)	
  library	
  
• XML	
  files	
  map	
  Java	
  classes	
  to	
  database	
  tables	
  and	
  Java	
  data	
  types	
  to	
  SQL	
  
data	
  types	
  
• facilitates	
  data	
  query	
  and	
  retrieval	
  
• generates	
  SQL	
  calls	
  and	
  relieves	
  the	
  developer	
  from	
  manual	
  result	
  set	
  
handling	
  and	
  object	
  conversion	
  
• Java	
  Persistency	
  Architecture	
  (JPA)	
  
– introduced	
  in	
  OSCAR	
  since	
  July	
  2008	
  
– industry	
  standard	
  ORM	
  persistency	
  API	
  
– Uses	
  Java	
  annotaIons	
  instead	
  of	
  XML	
  files
9
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
Introducing	
  Persistency	
  Provider

Code	
  dimension
SQL	
  =	
  code	
  file	
  containing	
  embedded	
  SQL	
  query	
  
HIB	
  =	
  Java	
  file	
  targeted	
  by	
  Hibernate	
  XML	
  file	
  
JPA	
  =	
  Java	
  file	
  containing	
  JPA	
  annotaIon	
  
pure	
  =	
  code	
  files	
  not	
  containing	
  any	
  of	
  these	
  
!
!
!
!
!
!
10
0%#
10%#
20%#
30%#
40%#
50%#
60%#
70%#
80%#
90%#
100%#
2003-07-01#
2004-01-01#
2004-07-01#
2005-01-01#
2005-07-01#
2006-01-01#
2006-07-01#
2007-01-01#
2007-07-01#
2008-01-01#
2008-07-01#
2009-01-01#
2009-07-01#
2010-01-01#
2010-07-01#
2011-01-01#
2011-07-01#
2012-01-01#
2012-07-01#
2013-01-01#
2013-07-01#
JPA# HIB#
SQL# pure#
Monthly	
  aggregated	
  number	
  of	
  acIve	
  code	
  files
0"
200"
400"
600"
800"
1000"
1200"
1400"
1600"
2003)07)01"
2003)11)01"
2004)03)01"
2004)07)01"
2004)11)01"
2005)03)01"
2005)07)01"
2005)11)01"
2006)03)01"
2006)07)01"
2006)11)01"
2007)03)01"
2007)07)01"
2007)11)01"
2008)03)01"
2008)07)01"
2008)11)01"
2009)03)01"
2009)07)01"
2009)11)01"
2010)03)01"
2010)07)01"
2010)11)01"
2011)03)01"
2011)07)01"
2011)11)01"
2012)03)01"
2012)07)01"
2012)11)01"
2013)03)01"
2013)07)01"
JPA" HIB" SQL"
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
Introducing	
  Persistency	
  Provider

Social	
  dimension
• Who	
  is	
  involved	
  in	
  introducing	
  changes	
  in	
  
database-­‐related	
  code?
11
Developer
Bubble	
  size	
  =	
  log(monthly	
  aggregated	
  number	
  of	
  touched	
  files)
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
EvoluIon	
  of	
  OSCAR

Social	
  Dimension
• How	
  do	
  developers	
  divide	
  their	
  work?
12
Java$(87)$ JSP$(86)$
OSCAR$developers$(100)$
3"
2"
5" 1"
6" 9"
SQL$(89)$
HIB$
31"
JPA$
16"
15" 12"
Number of OSCAR developers involved in file touches per activity type
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
EvoluIon	
  of	
  OSCAR

Social	
  Dimension
• How	
  do	
  developers	
  divide	
  their	
  work?
13
Number of developers that introduce database-related code
in some file for the first time
Java$(87)$ JSP$(86)$
OSCAR$developers$(100)$
3"
24"
10" 10"
1" 0"
SQL$(53)$
HIB$
24"
JPA$
9"
8" 11"
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
Preliminary	
  Conclusions
RQ1:	
  Code-­‐related	
  and	
  database-­‐related	
  files	
  evolve	
  
together	
  (no	
  “phased”	
  co-­‐evoluIon)	
  
!
RQ2:	
  IntroducIon	
  of	
  Hibernate,	
  then	
  JPA	
  which	
  takes	
  over	
  
Hibernate,	
  but	
  embedded	
  SQL	
  sIll	
  remains	
  very	
  important	
  
!
!
RQ3:	
  No	
  clear	
  separaIon	
  of	
  acIviIes	
  between	
  developers	
  
Majority	
  of	
  developers	
  changes	
  both	
  db-­‐related	
  and	
  db-­‐
unrelated	
  code	
  
No	
  observed	
  periods	
  dedicated	
  to	
  a	
  specific	
  acIvity
14
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
Future	
  Work
• Analyse	
  file	
  changes	
  at	
  finer	
  granularity	
  	
  
• Study	
  of	
  other	
  data-­‐intensive	
  so3ware	
  systems	
  
• Study	
  the	
  evoluIon	
  of	
  DISS	
  quality	
  
– Unit	
  tests	
  involving	
  database-­‐related	
  classes	
  
– Revisited	
  modularity,	
  coupling,	
  cohesion	
  
– Database	
  inconsistencies	
  
• Study	
  the	
  evoluIon	
  of	
  social	
  aspects	
  
– Are	
  there	
  disInct	
  sub-­‐communiIes?	
  
– How	
  is	
  the	
  effort	
  distributed	
  in	
  each	
  community?	
  Are	
  there	
  
different	
  teamwork	
  paDerns	
  in	
  these	
  communiIes?
15
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
References
• M.	
  Goeminne,	
  A.	
  Decan,	
  T.	
  Mens,	
  Co-­‐evolving	
  Code-­‐
Related	
  and	
  Database-­‐Related	
  Changes	
  in	
  a	
  Data-­‐Intensive	
  
So6ware	
  System,	
  CSMR-­‐WCRE	
  2014	
  ERA	
  track	
  	
  
• L.	
  Meurice,	
  A.	
  Cleve,	
  DAHLIA:	
  A	
  Visual	
  Analyzer	
  of	
  
Database	
  Schema	
  EvoluKon,	
  CSMR-­‐WCRE	
  2014	
  Tool	
  Demo	
  
• A.	
  Cleve,	
  T.	
  Mens,	
  J.-­‐L.	
  Hainaut,	
  Data-­‐Intensive	
  System	
  
EvoluIon,	
  IEEE	
  Computer	
  43(8):	
  110-­‐112	
  (2010)	
  
• A.	
  Cleve,	
  M.	
  Gobert,	
  L.	
  Meurice,	
  J.	
  Maes,	
  J.	
  Weber,	
  
Understanding	
  database	
  schema	
  evoluIon:	
  A	
  case	
  study,	
  
Science	
  of	
  Computer	
  Programming	
  (2013)
16
A	
  Historical	
  Dataset	
  for	
  the	
  Gnome	
  
Ecosystem
Mathieu	
  Goeminne,	
  Tom	
  Mens	
  
Service	
  de	
  Génie	
  Logiciel,	
  Université	
  de	
  Mons
hDp://informaIque.umons.ac.be/genlog/projects/disse
EOSESE	
  2014	
  European	
  Open	
  Symposium	
  on	
  Empirical	
  So6ware	
  Engineering	
  -­‐	
  July	
  2014
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
Gnome	
  ecosystem	
  
Historical	
  Dataset
• Goal	
  
– Study	
  the	
  evoluIon	
  of	
  social	
  aspects	
  of	
  the	
  Gnome	
  
ecosystem	
  (1,418	
  projects,	
  11,094	
  contributors,	
  
1,315,997	
  commits).	
  
• Methodology	
  
1. Clone	
  the	
  source	
  code	
  repository	
  of	
  each	
  Gnome	
  
project	
  
2. Store	
  its	
  history	
  in	
  a	
  MySQL	
  database	
  
3. Add	
  extra	
  informaIon	
  to	
  facilitate	
  empirical	
  studies	
  
18
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
Gnome	
  ecosystem	
  
About	
  the	
  dataset
19
FLOSSMetrics	
  MySQL	
  datase:	
  
hDps://bitbucket.org/mgoeminne/sgl-­‐flossmetric-­‐dbmerge
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
Gnome	
  ecosystem	
  
Extra	
  informaIon
20
• IdenIty	
  merging	
  
• CSVAnalY2	
  hack	
  
• Semi-­‐automaIc	
  idenIty	
  merging	
  based	
  on	
  name	
  and	
  e-­‐
mail	
  
• 5,923	
  /	
  11,094	
  contributors	
  a3er	
  merging	
  
• AcIvity	
  types	
  
• Tool	
  for	
  associaIng	
  an	
  acIvity	
  type	
  (coding,	
  translaIon,	
  
documentaIon,	
  etc.)	
  to	
  each	
  file.	
  
• Regular	
  expressions	
  on	
  file	
  extension,	
  file	
  name	
  and	
  path.
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
Gnome:	
  On	
  the	
  variaIon	
  and	
  
specialisaIon	
  of	
  workload
21
Empir Software Eng
DOI 10.1007/s10664-013-9244-1
On the variation and specialisation of workload—A
case study of the GNOME ecosystem community
Bogdan Vasilescu · Alexander Serebrenik ·
Mathieu Goeminne · Tom Mens
© Springer Science+Business Media New York 2013
Abstract Most empirical studies of open source software repositories focus on the
analysis of isolated projects, or restrict themselves to the study of the relationships
between technical artifacts. In contrast, we have carried out a case study that focuses
on the actual contributors to software ecosystems, being collections of software
projects that are maintained by the same community. To this aim, we defined a
new series of workload and involvement metrics, as well as a novel approach—
T-graphs—for reporting the results of comparing multiple distributions. We used
these techniques to statistically study how workload and involvement of ecosystem
contributors varies across projects and across activity types, and we explored to
which extent projects and contributors specialise in particular activity types. Using
Gnome as a case study we observed that, next to coding, the activities of localization,
development documentation and building are prevalent throughout the ecosystem.
We also observed notable differences between frequent and occasional contributors
in terms of the activity types they are involved in and the number of projects they
contribute to. Occasional contributors and contributors that are involved in many
different projects tend to be more involved in the localization activity, while frequent
Communicated by: Margaret-Anne Storey
B. Vasilescu · A. Serebrenik
MDSE, Eindhoven University of Technology, PO Box 513, 5600 MB, Eindhoven,
The Netherlands
B. Vasilescu
e-mail: b.n.vasilescu@tue.nl
A. Serebrenik
e-mail: a.serebrenik@tue.nl
M. Goeminne · T. Mens (B)
COMPLEXYS Research Institute, Université de Mons, Place du Parc 20, 7000 Mons, Belgium
e-mail: tom.mens@umons.ac.be
M. Goeminne
e-mail: mathieu.goeminne@umons.ac.be
RATW	
  <	
  14 RATW	
  >=	
  14
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
Gnome:	
  On	
  the	
  variaIon	
  and	
  
specialisaIon	
  of	
  workload
22
Empir Software Eng
DOI 10.1007/s10664-013-9244-1
On the variation and specialisation of workload—A
case study of the GNOME ecosystem community
Bogdan Vasilescu · Alexander Serebrenik ·
Mathieu Goeminne · Tom Mens
© Springer Science+Business Media New York 2013
Abstract Most empirical studies of open source software repositories focus on the
analysis of isolated projects, or restrict themselves to the study of the relationships
between technical artifacts. In contrast, we have carried out a case study that focuses
on the actual contributors to software ecosystems, being collections of software
projects that are maintained by the same community. To this aim, we defined a
new series of workload and involvement metrics, as well as a novel approach—
T-graphs—for reporting the results of comparing multiple distributions. We used
these techniques to statistically study how workload and involvement of ecosystem
contributors varies across projects and across activity types, and we explored to
which extent projects and contributors specialise in particular activity types. Using
Gnome as a case study we observed that, next to coding, the activities of localization,
development documentation and building are prevalent throughout the ecosystem.
We also observed notable differences between frequent and occasional contributors
in terms of the activity types they are involved in and the number of projects they
contribute to. Occasional contributors and contributors that are involved in many
different projects tend to be more involved in the localization activity, while frequent
Communicated by: Margaret-Anne Storey
B. Vasilescu · A. Serebrenik
MDSE, Eindhoven University of Technology, PO Box 513, 5600 MB, Eindhoven,
The Netherlands
B. Vasilescu
e-mail: b.n.vasilescu@tue.nl
A. Serebrenik
e-mail: a.serebrenik@tue.nl
M. Goeminne · T. Mens (B)
COMPLEXYS Research Institute, Université de Mons, Place du Parc 20, 7000 Mons, Belgium
e-mail: tom.mens@umons.ac.be
M. Goeminne
e-mail: mathieu.goeminne@umons.ac.be
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
Gnome	
  ecosystem	
  
References
• M.	
  Goeminne,	
  M.	
  Claes,	
  and	
  T.	
  Mens.	
  A	
  historical	
  
dataset	
  for	
  the	
  Gnome	
  ecosystem,	
  MSR	
  2013,	
  pp.	
  225–
228	
  
hDps://bitbucket.org/mgoeminne/sgl-­‐flossmetric-­‐dbmerge	
  
• B.	
  Vasilescu,	
  A.	
  Serebrenik,	
  M.	
  Goeminne,	
  and	
  T.	
  
Mens.	
  On	
  the	
  variaKon	
  and	
  specialisaKon	
  of	
  workload
—a	
  case	
  study	
  of	
  the	
  Gnome	
  ecosystem	
  community,	
  
Empirical	
  So3ware	
  Engineering,	
  pp.	
  955–1008,	
  2014	
  
hDp://dx.doi.org/10.1007/s10664-­‐013-­‐9244-­‐1	
  
23
European	
  Open	
  Symposium	
  on	
  Empirical	
  So3ware	
  Engineering	
  —	
  Lille,	
  France,	
  July	
  2014
References
24
!
!
Evolving Software Systems
Mens, Tom; Serebrenik, Alexander; Cleve, Anthony (Eds.)
2014, XXIII, 404 p.
!
Springer, ISBN 978-3-642-45398-4

More Related Content

Viewers also liked

Petrinect: Modeling gestural interactions with executable Petri nets
Petrinect: Modeling gestural interactions with executable Petri netsPetrinect: Modeling gestural interactions with executable Petri nets
Petrinect: Modeling gestural interactions with executable Petri netsTom Mens
 
Survivability of software projects in Gnome: A replication study
Survivability of software projects in Gnome: A replication studySurvivability of software projects in Gnome: A replication study
Survivability of software projects in Gnome: A replication studyTom Mens
 
An empirical study on the Specialisation Effect in Open Source Communities
An empirical study on the Specialisation Effect in Open Source CommunitiesAn empirical study on the Specialisation Effect in Open Source Communities
An empirical study on the Specialisation Effect in Open Source CommunitiesTom Mens
 
Evaluationg software quality practices in European industry
Evaluationg software quality practices in European industryEvaluationg software quality practices in European industry
Evaluationg software quality practices in European industryTom Mens
 
Domain-specific model refactoring - a case study with executable gestural int...
Domain-specific model refactoring - a case study with executable gestural int...Domain-specific model refactoring - a case study with executable gestural int...
Domain-specific model refactoring - a case study with executable gestural int...Tom Mens
 
Migration patterns of open source ecosystem contributors - An empirical case ...
Migration patterns of open source ecosystem contributors - An empirical case ...Migration patterns of open source ecosystem contributors - An empirical case ...
Migration patterns of open source ecosystem contributors - An empirical case ...Tom Mens
 
QUALGEN: Modeling and Analysing the Quality of Evolving Software Systems
QUALGEN: Modeling and Analysing the Quality of Evolving Software SystemsQUALGEN: Modeling and Analysing the Quality of Evolving Software Systems
QUALGEN: Modeling and Analysing the Quality of Evolving Software SystemsTom Mens
 
An Empirical Study of Identical Function Clones in CRAN
An Empirical Study of Identical Function Clones in CRANAn Empirical Study of Identical Function Clones in CRAN
An Empirical Study of Identical Function Clones in CRANTom Mens
 
Approaches to software model inconsistency management
Approaches to software model inconsistency managementApproaches to software model inconsistency management
Approaches to software model inconsistency managementTom Mens
 
Socio-technical evolution and migration in the Ruby ecosystem
Socio-technical evolution and migration in the Ruby ecosystemSocio-technical evolution and migration in the Ruby ecosystem
Socio-technical evolution and migration in the Ruby ecosystemTom Mens
 
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...Tom Mens
 
Using Evolution Patterns to Evolve Software Architectures
Using Evolution Patterns to Evolve Software ArchitecturesUsing Evolution Patterns to Evolve Software Architectures
Using Evolution Patterns to Evolve Software ArchitecturesTom Mens
 

Viewers also liked (12)

Petrinect: Modeling gestural interactions with executable Petri nets
Petrinect: Modeling gestural interactions with executable Petri netsPetrinect: Modeling gestural interactions with executable Petri nets
Petrinect: Modeling gestural interactions with executable Petri nets
 
Survivability of software projects in Gnome: A replication study
Survivability of software projects in Gnome: A replication studySurvivability of software projects in Gnome: A replication study
Survivability of software projects in Gnome: A replication study
 
An empirical study on the Specialisation Effect in Open Source Communities
An empirical study on the Specialisation Effect in Open Source CommunitiesAn empirical study on the Specialisation Effect in Open Source Communities
An empirical study on the Specialisation Effect in Open Source Communities
 
Evaluationg software quality practices in European industry
Evaluationg software quality practices in European industryEvaluationg software quality practices in European industry
Evaluationg software quality practices in European industry
 
Domain-specific model refactoring - a case study with executable gestural int...
Domain-specific model refactoring - a case study with executable gestural int...Domain-specific model refactoring - a case study with executable gestural int...
Domain-specific model refactoring - a case study with executable gestural int...
 
Migration patterns of open source ecosystem contributors - An empirical case ...
Migration patterns of open source ecosystem contributors - An empirical case ...Migration patterns of open source ecosystem contributors - An empirical case ...
Migration patterns of open source ecosystem contributors - An empirical case ...
 
QUALGEN: Modeling and Analysing the Quality of Evolving Software Systems
QUALGEN: Modeling and Analysing the Quality of Evolving Software SystemsQUALGEN: Modeling and Analysing the Quality of Evolving Software Systems
QUALGEN: Modeling and Analysing the Quality of Evolving Software Systems
 
An Empirical Study of Identical Function Clones in CRAN
An Empirical Study of Identical Function Clones in CRANAn Empirical Study of Identical Function Clones in CRAN
An Empirical Study of Identical Function Clones in CRAN
 
Approaches to software model inconsistency management
Approaches to software model inconsistency managementApproaches to software model inconsistency management
Approaches to software model inconsistency management
 
Socio-technical evolution and migration in the Ruby ecosystem
Socio-technical evolution and migration in the Ruby ecosystemSocio-technical evolution and migration in the Ruby ecosystem
Socio-technical evolution and migration in the Ruby ecosystem
 
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
 
Using Evolution Patterns to Evolve Software Architectures
Using Evolution Patterns to Evolve Software ArchitecturesUsing Evolution Patterns to Evolve Software Architectures
Using Evolution Patterns to Evolve Software Architectures
 

Similar to Co-Evolving Changes in a Data-Intensive Software System

Co-evolving changes in a data-intensive software system
Co-evolving changes in a data-intensive software systemCo-evolving changes in a data-intensive software system
Co-evolving changes in a data-intensive software systemTom Mens
 
Six Principles of Software Design to Empower Scientists
Six Principles of Software Design to Empower ScientistsSix Principles of Software Design to Empower Scientists
Six Principles of Software Design to Empower ScientistsDavid De Roure
 
Proof of Concept for Learning Analytics Interoperability
Proof of Concept for Learning Analytics InteroperabilityProof of Concept for Learning Analytics Interoperability
Proof of Concept for Learning Analytics InteroperabilityOpen Cyber University of Korea
 
Semantic Web Methodologies, Best Practices and Ontology Engineering Applied t...
Semantic Web Methodologies, Best Practices and Ontology Engineering Applied t...Semantic Web Methodologies, Best Practices and Ontology Engineering Applied t...
Semantic Web Methodologies, Best Practices and Ontology Engineering Applied t...Ghislain ATEMEZING
 
My Curriculum Vitae
My Curriculum VitaeMy Curriculum Vitae
My Curriculum Vitaeadil raja
 
Towards Configuration Technologies for IoT Gateways
Towards Configuration Technologies  for IoT GatewaysTowards Configuration Technologies  for IoT Gateways
Towards Configuration Technologies for IoT GatewaysAGILE IoT
 
Co-Evolving Code-Related and Database-related Changes in Data Intensive Softw...
Co-Evolving Code-Related and Database-related Changes in Data Intensive Softw...Co-Evolving Code-Related and Database-related Changes in Data Intensive Softw...
Co-Evolving Code-Related and Database-related Changes in Data Intensive Softw...Mathieu Goeminne
 
Co-evolving code-related and database-related changes in a data-intensive sof...
Co-evolving code-related and database-related changes in a data-intensive sof...Co-evolving code-related and database-related changes in a data-intensive sof...
Co-evolving code-related and database-related changes in a data-intensive sof...Tom Mens
 
SPARQL Micro-Services: Lightweight Integration of Web APIs and Linked Data
SPARQL Micro-Services: Lightweight Integration of Web APIs and Linked DataSPARQL Micro-Services: Lightweight Integration of Web APIs and Linked Data
SPARQL Micro-Services: Lightweight Integration of Web APIs and Linked DataFranck Michel
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesTao Xie
 
Assisting IoT Projects and Developers in Designing Interoperable Semantic Web...
Assisting IoT Projects and Developers in Designing Interoperable Semantic Web...Assisting IoT Projects and Developers in Designing Interoperable Semantic Web...
Assisting IoT Projects and Developers in Designing Interoperable Semantic Web...Amélie Gyrard
 
Software Sustainability: Better Software Better Science
Software Sustainability: Better Software Better ScienceSoftware Sustainability: Better Software Better Science
Software Sustainability: Better Software Better ScienceCarole Goble
 
Scientific Software: Sustainability, Skills & Sociology
Scientific Software: Sustainability, Skills & SociologyScientific Software: Sustainability, Skills & Sociology
Scientific Software: Sustainability, Skills & SociologyNeil Chue Hong
 
EOSC-Life Workflow Collaboratory
EOSC-Life Workflow CollaboratoryEOSC-Life Workflow Collaboratory
EOSC-Life Workflow CollaboratoryCarole Goble
 
Introduction to FAIRDOM
Introduction to FAIRDOMIntroduction to FAIRDOM
Introduction to FAIRDOMCarole Goble
 
DevOps@Morpho for ParisDevOps - 2nd of December 2014
DevOps@Morpho for ParisDevOps - 2nd of December 2014DevOps@Morpho for ParisDevOps - 2nd of December 2014
DevOps@Morpho for ParisDevOps - 2nd of December 2014Jean-Charles JOREL
 

Similar to Co-Evolving Changes in a Data-Intensive Software System (20)

Co-evolving changes in a data-intensive software system
Co-evolving changes in a data-intensive software systemCo-evolving changes in a data-intensive software system
Co-evolving changes in a data-intensive software system
 
Six Principles of Software Design to Empower Scientists
Six Principles of Software Design to Empower ScientistsSix Principles of Software Design to Empower Scientists
Six Principles of Software Design to Empower Scientists
 
Proof of Concept for Learning Analytics Interoperability
Proof of Concept for Learning Analytics InteroperabilityProof of Concept for Learning Analytics Interoperability
Proof of Concept for Learning Analytics Interoperability
 
Semantic Web Methodologies, Best Practices and Ontology Engineering Applied t...
Semantic Web Methodologies, Best Practices and Ontology Engineering Applied t...Semantic Web Methodologies, Best Practices and Ontology Engineering Applied t...
Semantic Web Methodologies, Best Practices and Ontology Engineering Applied t...
 
Duc le CV
Duc le CVDuc le CV
Duc le CV
 
My Curriculum Vitae
My Curriculum VitaeMy Curriculum Vitae
My Curriculum Vitae
 
Towards Configuration Technologies for IoT Gateways
Towards Configuration Technologies  for IoT GatewaysTowards Configuration Technologies  for IoT Gateways
Towards Configuration Technologies for IoT Gateways
 
Co-Evolving Code-Related and Database-related Changes in Data Intensive Softw...
Co-Evolving Code-Related and Database-related Changes in Data Intensive Softw...Co-Evolving Code-Related and Database-related Changes in Data Intensive Softw...
Co-Evolving Code-Related and Database-related Changes in Data Intensive Softw...
 
Co-evolving code-related and database-related changes in a data-intensive sof...
Co-evolving code-related and database-related changes in a data-intensive sof...Co-evolving code-related and database-related changes in a data-intensive sof...
Co-evolving code-related and database-related changes in a data-intensive sof...
 
SPARQL Micro-Services: Lightweight Integration of Web APIs and Linked Data
SPARQL Micro-Services: Lightweight Integration of Web APIs and Linked DataSPARQL Micro-Services: Lightweight Integration of Web APIs and Linked Data
SPARQL Micro-Services: Lightweight Integration of Web APIs and Linked Data
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and Challenges
 
Assisting IoT Projects and Developers in Designing Interoperable Semantic Web...
Assisting IoT Projects and Developers in Designing Interoperable Semantic Web...Assisting IoT Projects and Developers in Designing Interoperable Semantic Web...
Assisting IoT Projects and Developers in Designing Interoperable Semantic Web...
 
Software Sustainability: Better Software Better Science
Software Sustainability: Better Software Better ScienceSoftware Sustainability: Better Software Better Science
Software Sustainability: Better Software Better Science
 
Scientific Software: Sustainability, Skills & Sociology
Scientific Software: Sustainability, Skills & SociologyScientific Software: Sustainability, Skills & Sociology
Scientific Software: Sustainability, Skills & Sociology
 
EOSC-Life Workflow Collaboratory
EOSC-Life Workflow CollaboratoryEOSC-Life Workflow Collaboratory
EOSC-Life Workflow Collaboratory
 
2016 open-source-network-softwarization
2016 open-source-network-softwarization2016 open-source-network-softwarization
2016 open-source-network-softwarization
 
2016 open-source-network-softwarization
2016 open-source-network-softwarization2016 open-source-network-softwarization
2016 open-source-network-softwarization
 
Introduction to FAIRDOM
Introduction to FAIRDOMIntroduction to FAIRDOM
Introduction to FAIRDOM
 
sample-resume
sample-resumesample-resume
sample-resume
 
DevOps@Morpho for ParisDevOps - 2nd of December 2014
DevOps@Morpho for ParisDevOps - 2nd of December 2014DevOps@Morpho for ParisDevOps - 2nd of December 2014
DevOps@Morpho for ParisDevOps - 2nd of December 2014
 

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

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

Recently uploaded

Citronella presentation SlideShare mani upadhyay
Citronella presentation SlideShare mani upadhyayCitronella presentation SlideShare mani upadhyay
Citronella presentation SlideShare mani upadhyayupadhyaymani499
 
Four Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.pptFour Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.pptJoemSTuliba
 
Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...navyadasi1992
 
User Guide: Capricorn FLX™ Weather Station
User Guide: Capricorn FLX™ Weather StationUser Guide: Capricorn FLX™ Weather Station
User Guide: Capricorn FLX™ Weather StationColumbia Weather Systems
 
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCRCall Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCRlizamodels9
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trssuser06f238
 
(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)
(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)
(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)riyaescorts54
 
ALL ABOUT MIXTURES IN GRADE 7 CLASS PPTX
ALL ABOUT MIXTURES IN GRADE 7 CLASS PPTXALL ABOUT MIXTURES IN GRADE 7 CLASS PPTX
ALL ABOUT MIXTURES IN GRADE 7 CLASS PPTXDole Philippines School
 
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Pests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPirithiRaju
 
Pests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdfPests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdfPirithiRaju
 
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.PraveenaKalaiselvan1
 
preservation, maintanence and improvement of industrial organism.pptx
preservation, maintanence and improvement of industrial organism.pptxpreservation, maintanence and improvement of industrial organism.pptx
preservation, maintanence and improvement of industrial organism.pptxnoordubaliya2003
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptxECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptxmaryFF1
 
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxSTOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxMurugaveni B
 
The dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptxThe dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptxEran Akiva Sinbar
 
Pests of Blackgram, greengram, cowpea_Dr.UPR.pdf
Pests of Blackgram, greengram, cowpea_Dr.UPR.pdfPests of Blackgram, greengram, cowpea_Dr.UPR.pdf
Pests of Blackgram, greengram, cowpea_Dr.UPR.pdfPirithiRaju
 
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...D. B. S. College Kanpur
 
Microteaching on terms used in filtration .Pharmaceutical Engineering
Microteaching on terms used in filtration .Pharmaceutical EngineeringMicroteaching on terms used in filtration .Pharmaceutical Engineering
Microteaching on terms used in filtration .Pharmaceutical EngineeringPrajakta Shinde
 

Recently uploaded (20)

Citronella presentation SlideShare mani upadhyay
Citronella presentation SlideShare mani upadhyayCitronella presentation SlideShare mani upadhyay
Citronella presentation SlideShare mani upadhyay
 
Four Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.pptFour Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.ppt
 
Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...
 
User Guide: Capricorn FLX™ Weather Station
User Guide: Capricorn FLX™ Weather StationUser Guide: Capricorn FLX™ Weather Station
User Guide: Capricorn FLX™ Weather Station
 
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCRCall Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 tr
 
(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)
(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)
(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)
 
ALL ABOUT MIXTURES IN GRADE 7 CLASS PPTX
ALL ABOUT MIXTURES IN GRADE 7 CLASS PPTXALL ABOUT MIXTURES IN GRADE 7 CLASS PPTX
ALL ABOUT MIXTURES IN GRADE 7 CLASS PPTX
 
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
 
Pests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdf
 
Pests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdfPests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdf
 
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
 
preservation, maintanence and improvement of industrial organism.pptx
preservation, maintanence and improvement of industrial organism.pptxpreservation, maintanence and improvement of industrial organism.pptx
preservation, maintanence and improvement of industrial organism.pptx
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptxECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
 
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxSTOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
 
The dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptxThe dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptx
 
Pests of Blackgram, greengram, cowpea_Dr.UPR.pdf
Pests of Blackgram, greengram, cowpea_Dr.UPR.pdfPests of Blackgram, greengram, cowpea_Dr.UPR.pdf
Pests of Blackgram, greengram, cowpea_Dr.UPR.pdf
 
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
 
Microteaching on terms used in filtration .Pharmaceutical Engineering
Microteaching on terms used in filtration .Pharmaceutical EngineeringMicroteaching on terms used in filtration .Pharmaceutical Engineering
Microteaching on terms used in filtration .Pharmaceutical Engineering
 

Co-Evolving Changes in a Data-Intensive Software System

  • 1. Co-­‐Evolving  Changes  in  a Data-­‐Intensive  So3ware  System Mathieu  Goeminne,  Alexandre  Decan,  Tom  Mens   Service  de  Génie  Logiciel,  Université  de  Mons hDp://informaIque.umons.ac.be/genlog/projects/disse EOSESE  2014  European  Open  Symposium  on  Empirical  So6ware  Engineering  -­‐  July  2014
  • 2. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 Context • FNRS  Projet  de  Recherche  “Data-­‐Intensive  So3ware  System  EvoluIon”   – Interuniversity  collaboraIon  with  Anthony  Cleve  and  Loup  Meurice   (University  of  Namur)   • Overall  goal   – Expand  empirical  MSR  research  to  include  database-­‐related  acIviIes     – Analyse  and  support  co-­‐evoluIon  between  program  code  and   database  (schema)  in  data-­‐intensive  so3ware  systems   • Approach   – Develop  generic  framework   – Implement  dedicated  analysis  and  visualisaIon  tools   – Carry  out  empirical  case  studies 2
  • 3. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 Research  QuesIons • Code-­‐centric  focus   – RQ1:  How  does  the  relaIon  between
 how  source  code  files  and
 database-­‐related  files  evolve?   – RQ2:  What’s  the  effect  of  introducing
 a  parIcular  persistency  technology   (Hibernate,  JPA)?   • Social  focus   – RQ3:  How  do  developers  divide  their
 work  and  how  does  this  evolve  over  Ime? 3
  • 4. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 Case  Study 4 characteris/c value duraIon 3,939  days  (  >  129  months) dates from  Nov  2002  Ill  Aug  2013
 number  of  commits 18,727 number  of  disInct  files 20,718  (of  which  54%  code  files) number  of  file  touches 93,721 number  of  disInct  developers 100 Official  repository hDps://github.com/scoophealth/oscar.git A  Java  Electronical  Medical  Record  system
  • 5. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 EvoluIon  of  OSCAR
  Code  dimension • 3-­‐Ier  web  applicaIon  wriDen  in  Java  and  JSP 5 0%# 10%# 20%# 30%# 40%# 50%# 60%# 70%# 80%# 90%# 100%# 2003-07# 2004-01# 2004-07# 2005-01# 2005-07# 2006-01# 2006-07# 2007-01# 2007-07# 2008-01# 2008-07# 2009-01# 2009-07# 2010-01# 2010-07# 2011-01# 2011-07# 2012-01# 2012-07# 2013-01# jsp# java# Monthly  aggregated  proporIon  of  JSP  and  Java  files
  • 6. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 EvoluIon  of  OSCAR
 Social  Dimension • Monthly  number  of  disInct  acIve  developers   for  OSCAR     (a3er  idenIty  merging) 6 0" 5" 10" 15" 20" 25" 2003'07" 2004'01" 2004'07" 2005'01" 2005'07" 2006'01" 2006'07" 2007'01" 2007'07" 2008'01" 2008'07" 2009'01" 2009'07" 2010'01" 2010'07" 2011'01" 2011'07" 2012'01" 2012'07" 2013'01"
  • 7. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 EvoluIon  of  OSCAR
 Code  dimension • Number  of  source  code  files  w.r.t.
 database-­‐related  files 7 0" 1000" 2000" 3000" 4000" 5000" 6000" 2003)07" 2004)01" 2004)07" 2005)01" 2005)07" 2006)01" 2006)07" 2007)01" 2007)07" 2008)01" 2008)07" 2009)01" 2009)07" 2010)01" 2010)07" 2011)01" 2011)07" 2012)01" 2012)07" 2013)01" pure" sql" sql  =  code  files  containing  embedded  SQL  statements
  • 8. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 EvoluIon  of  OSCAR   Social  Dimension • How  does  the  acIvity  of  developers  evolve   over  Ime? 8 Developer monthly  aggregated  number  of  file  touches  
  • 9. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 Introducing  Persistency
 Provider  in  OSCAR • Hibernate   – introduced  in  OSCAR  since  July  2006   – Java  object-­‐relaIonal  mapping  (ORM)  library   • XML  files  map  Java  classes  to  database  tables  and  Java  data  types  to  SQL   data  types   • facilitates  data  query  and  retrieval   • generates  SQL  calls  and  relieves  the  developer  from  manual  result  set   handling  and  object  conversion   • Java  Persistency  Architecture  (JPA)   – introduced  in  OSCAR  since  July  2008   – industry  standard  ORM  persistency  API   – Uses  Java  annotaIons  instead  of  XML  files 9
  • 10. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 Introducing  Persistency  Provider
 Code  dimension SQL  =  code  file  containing  embedded  SQL  query   HIB  =  Java  file  targeted  by  Hibernate  XML  file   JPA  =  Java  file  containing  JPA  annotaIon   pure  =  code  files  not  containing  any  of  these   ! ! ! ! ! ! 10 0%# 10%# 20%# 30%# 40%# 50%# 60%# 70%# 80%# 90%# 100%# 2003-07-01# 2004-01-01# 2004-07-01# 2005-01-01# 2005-07-01# 2006-01-01# 2006-07-01# 2007-01-01# 2007-07-01# 2008-01-01# 2008-07-01# 2009-01-01# 2009-07-01# 2010-01-01# 2010-07-01# 2011-01-01# 2011-07-01# 2012-01-01# 2012-07-01# 2013-01-01# 2013-07-01# JPA# HIB# SQL# pure# Monthly  aggregated  number  of  acIve  code  files 0" 200" 400" 600" 800" 1000" 1200" 1400" 1600" 2003)07)01" 2003)11)01" 2004)03)01" 2004)07)01" 2004)11)01" 2005)03)01" 2005)07)01" 2005)11)01" 2006)03)01" 2006)07)01" 2006)11)01" 2007)03)01" 2007)07)01" 2007)11)01" 2008)03)01" 2008)07)01" 2008)11)01" 2009)03)01" 2009)07)01" 2009)11)01" 2010)03)01" 2010)07)01" 2010)11)01" 2011)03)01" 2011)07)01" 2011)11)01" 2012)03)01" 2012)07)01" 2012)11)01" 2013)03)01" 2013)07)01" JPA" HIB" SQL"
  • 11. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 Introducing  Persistency  Provider
 Social  dimension • Who  is  involved  in  introducing  changes  in   database-­‐related  code? 11 Developer Bubble  size  =  log(monthly  aggregated  number  of  touched  files)
  • 12. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 EvoluIon  of  OSCAR
 Social  Dimension • How  do  developers  divide  their  work? 12 Java$(87)$ JSP$(86)$ OSCAR$developers$(100)$ 3" 2" 5" 1" 6" 9" SQL$(89)$ HIB$ 31" JPA$ 16" 15" 12" Number of OSCAR developers involved in file touches per activity type
  • 13. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 EvoluIon  of  OSCAR
 Social  Dimension • How  do  developers  divide  their  work? 13 Number of developers that introduce database-related code in some file for the first time Java$(87)$ JSP$(86)$ OSCAR$developers$(100)$ 3" 24" 10" 10" 1" 0" SQL$(53)$ HIB$ 24" JPA$ 9" 8" 11"
  • 14. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 Preliminary  Conclusions RQ1:  Code-­‐related  and  database-­‐related  files  evolve   together  (no  “phased”  co-­‐evoluIon)   ! RQ2:  IntroducIon  of  Hibernate,  then  JPA  which  takes  over   Hibernate,  but  embedded  SQL  sIll  remains  very  important   ! ! RQ3:  No  clear  separaIon  of  acIviIes  between  developers   Majority  of  developers  changes  both  db-­‐related  and  db-­‐ unrelated  code   No  observed  periods  dedicated  to  a  specific  acIvity 14
  • 15. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 Future  Work • Analyse  file  changes  at  finer  granularity     • Study  of  other  data-­‐intensive  so3ware  systems   • Study  the  evoluIon  of  DISS  quality   – Unit  tests  involving  database-­‐related  classes   – Revisited  modularity,  coupling,  cohesion   – Database  inconsistencies   • Study  the  evoluIon  of  social  aspects   – Are  there  disInct  sub-­‐communiIes?   – How  is  the  effort  distributed  in  each  community?  Are  there   different  teamwork  paDerns  in  these  communiIes? 15
  • 16. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 References • M.  Goeminne,  A.  Decan,  T.  Mens,  Co-­‐evolving  Code-­‐ Related  and  Database-­‐Related  Changes  in  a  Data-­‐Intensive   So6ware  System,  CSMR-­‐WCRE  2014  ERA  track     • L.  Meurice,  A.  Cleve,  DAHLIA:  A  Visual  Analyzer  of   Database  Schema  EvoluKon,  CSMR-­‐WCRE  2014  Tool  Demo   • A.  Cleve,  T.  Mens,  J.-­‐L.  Hainaut,  Data-­‐Intensive  System   EvoluIon,  IEEE  Computer  43(8):  110-­‐112  (2010)   • A.  Cleve,  M.  Gobert,  L.  Meurice,  J.  Maes,  J.  Weber,   Understanding  database  schema  evoluIon:  A  case  study,   Science  of  Computer  Programming  (2013) 16
  • 17. A  Historical  Dataset  for  the  Gnome   Ecosystem Mathieu  Goeminne,  Tom  Mens   Service  de  Génie  Logiciel,  Université  de  Mons hDp://informaIque.umons.ac.be/genlog/projects/disse EOSESE  2014  European  Open  Symposium  on  Empirical  So6ware  Engineering  -­‐  July  2014
  • 18. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 Gnome  ecosystem   Historical  Dataset • Goal   – Study  the  evoluIon  of  social  aspects  of  the  Gnome   ecosystem  (1,418  projects,  11,094  contributors,   1,315,997  commits).   • Methodology   1. Clone  the  source  code  repository  of  each  Gnome   project   2. Store  its  history  in  a  MySQL  database   3. Add  extra  informaIon  to  facilitate  empirical  studies   18
  • 19. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 Gnome  ecosystem   About  the  dataset 19 FLOSSMetrics  MySQL  datase:   hDps://bitbucket.org/mgoeminne/sgl-­‐flossmetric-­‐dbmerge
  • 20. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 Gnome  ecosystem   Extra  informaIon 20 • IdenIty  merging   • CSVAnalY2  hack   • Semi-­‐automaIc  idenIty  merging  based  on  name  and  e-­‐ mail   • 5,923  /  11,094  contributors  a3er  merging   • AcIvity  types   • Tool  for  associaIng  an  acIvity  type  (coding,  translaIon,   documentaIon,  etc.)  to  each  file.   • Regular  expressions  on  file  extension,  file  name  and  path.
  • 21. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 Gnome:  On  the  variaIon  and   specialisaIon  of  workload 21 Empir Software Eng DOI 10.1007/s10664-013-9244-1 On the variation and specialisation of workload—A case study of the GNOME ecosystem community Bogdan Vasilescu · Alexander Serebrenik · Mathieu Goeminne · Tom Mens © Springer Science+Business Media New York 2013 Abstract Most empirical studies of open source software repositories focus on the analysis of isolated projects, or restrict themselves to the study of the relationships between technical artifacts. In contrast, we have carried out a case study that focuses on the actual contributors to software ecosystems, being collections of software projects that are maintained by the same community. To this aim, we defined a new series of workload and involvement metrics, as well as a novel approach— T-graphs—for reporting the results of comparing multiple distributions. We used these techniques to statistically study how workload and involvement of ecosystem contributors varies across projects and across activity types, and we explored to which extent projects and contributors specialise in particular activity types. Using Gnome as a case study we observed that, next to coding, the activities of localization, development documentation and building are prevalent throughout the ecosystem. We also observed notable differences between frequent and occasional contributors in terms of the activity types they are involved in and the number of projects they contribute to. Occasional contributors and contributors that are involved in many different projects tend to be more involved in the localization activity, while frequent Communicated by: Margaret-Anne Storey B. Vasilescu · A. Serebrenik MDSE, Eindhoven University of Technology, PO Box 513, 5600 MB, Eindhoven, The Netherlands B. Vasilescu e-mail: b.n.vasilescu@tue.nl A. Serebrenik e-mail: a.serebrenik@tue.nl M. Goeminne · T. Mens (B) COMPLEXYS Research Institute, Université de Mons, Place du Parc 20, 7000 Mons, Belgium e-mail: tom.mens@umons.ac.be M. Goeminne e-mail: mathieu.goeminne@umons.ac.be RATW  <  14 RATW  >=  14
  • 22. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 Gnome:  On  the  variaIon  and   specialisaIon  of  workload 22 Empir Software Eng DOI 10.1007/s10664-013-9244-1 On the variation and specialisation of workload—A case study of the GNOME ecosystem community Bogdan Vasilescu · Alexander Serebrenik · Mathieu Goeminne · Tom Mens © Springer Science+Business Media New York 2013 Abstract Most empirical studies of open source software repositories focus on the analysis of isolated projects, or restrict themselves to the study of the relationships between technical artifacts. In contrast, we have carried out a case study that focuses on the actual contributors to software ecosystems, being collections of software projects that are maintained by the same community. To this aim, we defined a new series of workload and involvement metrics, as well as a novel approach— T-graphs—for reporting the results of comparing multiple distributions. We used these techniques to statistically study how workload and involvement of ecosystem contributors varies across projects and across activity types, and we explored to which extent projects and contributors specialise in particular activity types. Using Gnome as a case study we observed that, next to coding, the activities of localization, development documentation and building are prevalent throughout the ecosystem. We also observed notable differences between frequent and occasional contributors in terms of the activity types they are involved in and the number of projects they contribute to. Occasional contributors and contributors that are involved in many different projects tend to be more involved in the localization activity, while frequent Communicated by: Margaret-Anne Storey B. Vasilescu · A. Serebrenik MDSE, Eindhoven University of Technology, PO Box 513, 5600 MB, Eindhoven, The Netherlands B. Vasilescu e-mail: b.n.vasilescu@tue.nl A. Serebrenik e-mail: a.serebrenik@tue.nl M. Goeminne · T. Mens (B) COMPLEXYS Research Institute, Université de Mons, Place du Parc 20, 7000 Mons, Belgium e-mail: tom.mens@umons.ac.be M. Goeminne e-mail: mathieu.goeminne@umons.ac.be
  • 23. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 Gnome  ecosystem   References • M.  Goeminne,  M.  Claes,  and  T.  Mens.  A  historical   dataset  for  the  Gnome  ecosystem,  MSR  2013,  pp.  225– 228   hDps://bitbucket.org/mgoeminne/sgl-­‐flossmetric-­‐dbmerge   • B.  Vasilescu,  A.  Serebrenik,  M.  Goeminne,  and  T.   Mens.  On  the  variaKon  and  specialisaKon  of  workload —a  case  study  of  the  Gnome  ecosystem  community,   Empirical  So3ware  Engineering,  pp.  955–1008,  2014   hDp://dx.doi.org/10.1007/s10664-­‐013-­‐9244-­‐1   23
  • 24. European  Open  Symposium  on  Empirical  So3ware  Engineering  —  Lille,  France,  July  2014 References 24 ! ! Evolving Software Systems Mens, Tom; Serebrenik, Alexander; Cleve, Anthony (Eds.) 2014, XXIII, 404 p. ! Springer, ISBN 978-3-642-45398-4