Successfully reported this slideshow.
Your SlideShare is downloading. ×

Assessing the Use of Eclipse MDE Technologies in Open-Source Software Projects

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 18 Ad
Advertisement

More Related Content

Viewers also liked (12)

Advertisement

Recently uploaded (20)

Advertisement

Assessing the Use of Eclipse MDE Technologies in Open-Source Software Projects

  1. 1. 1 Assessing the Use of Eclipse MDE Technologies in Open-Source Software Projects D. Kolovos1, N. Matragkas2, I. Korkontzelos3, S. Ananiadou3, and R. Paige1 1University of York, 2University of Hull 3University of Manchester
  2. 2. 2
  3. 3. 3Questions •  Which of these technologies demonstrate significant adoption in open-source projects? •  Is the activity related to these technologies increasing or decreasing over time? •  What is the size of the community of GitHub developers who are familiar with these technologies?
  4. 4. 4Methodology •  Identify concrete technologies of interest •  Compose GitHub queries based on file extensions and keywords •  Filter out irrelevant results – e.g file extension clashes •  Retrieve all commits involving files of interest •  Unify data and analyse
  5. 5. 5Technologies also requires a search term (that must appear in the content of the retrieved files) to also be included in the query. After manual experimentation we iden- tified the extensions and search terms in Table 1, which provided the largest number of relevant results for each technology. We also manually sampled the returned results to ensure that no irrelevant files were returned. This was the Table 1: File extensions and search terms per technology Techn. Ext. Search Term Techn. Ext. Search Term ATL atl rule QVTo qvto transformation Emfatic emf class Acceleo mtl template EGL* egl var IncQuery eiq pattern Eugenia* ecore ”gmf.diagram” GMF gmfgraph figure EOL* eol var Xtext xtext grammar ETL* etl transform Ecore ecore EClass EVL* evl context OCL ocl context Sirius odesign node Henshin henshin rule MOFScript m2t texttransformation Kermeta kmt class Xcore xcore class JET javajet jet EMFText cs syntaxdef Xpand xpt for case for all technologies except EGL and Acceleo. Files with a .egl extension that contain the search term var can be either Epsilon Generation Language
  6. 6. 61000 Results/Query L •  GitHub returns the number of files that meet the query's conditions – … but only details about 1,000 of them •  Repository •  Path in the repository •  Snippet •  In the first round we collected all repositories we could and we queried them again
  7. 7. 7Search Results them to be retrieved). To retrieve details for additional files of interest, we col- lected all repositories returned by a first round of queries, and we queried these repositories again for all file extensions of interest. The number of search results and the number of actual files that we managed to retrieve the details of are displayed in Table 2. This endeavour revealed that GitHub’s search interface Table 2: Number of search results and retrieved files per technology Technology Search Results Retrieved Files Technology Search Results Retrieved Files Ecore 15038 9629 QVTo 1247 1396 Xpand 7005 4974 GMF 1138 1100 Acceleo 6091 3158 Emfatic 525 510 JET 5323 3682 Sirius 428 503 OCL 3131 2418 EMFText 375 365 Xtext 2272 1605 Kermeta 339 343 ATL 1404 1481 Xcore 305 313 Epsilon 1352 1765 IncQuery 187 192 Henshin 1281 1142 MOFScript 34 34 is not particularly reliable. For example, after the dataset expansion phase we have collected details for 1481 ATL files, 77 more than the number returned by GitHub’s search interface in our first search (1404)). Similar discrepancies
  8. 8. 8Commit Collection •  Collected all commits for all files of interest – Commit time – Developer and committer ids/email addresses •  Grouped them by developer – Used the committers' email addresses as IDs
  9. 9. 9Unification 403 commits. We have made the model and its metamodel availab ithub. com/ kolovos/ datasets/ tree/ master/ github-mde so that the results p ext section can be independently reproduced and verified. Fig. 1: The Unification Metamodel Metamodel and data available under http://github.com/kolovos/datasets/tree/master/github-mde
  10. 10. 10E core (15038) X p an d (7005) A cceleo (6091) JE T (5323) O C L (3131) X tex t (2272) E p silon (1765) A T L (1481) Q V T o (1396) H en sh in (1281) G M F (1138) E m fatic (525) S iriu s (503) E M F T ex t (375) K erm eta (343) X core (313) In cQ u ery (192) M O F S crip t (34) 0 5,000 10,000 15,000 NumberofFilesonGitHub 5 1,0 1,5 EstimatednumberofGitHubRepositories
  11. 11. 11E core (1342) X tex t (660) X p an d (231) G M F (228) A cceleo (216) JE T (164) A T L (151) E p silon (147) E m fatic (104) X core (102) Q V T o (76) S iriu s (75) E M F T ex t (58) In cQ u ery (45) O C L (42) K erm eta (19) H en sh in (13) M O F S crip t (7) 0 500 1,000 1,500 EstimatednumberofGitHubRepositories
  12. 12. 12E core (1481) X tex t (646) X p an d (308) G M F (285) A cceleo (222) JE T (205) A T L (173) E p silon (158) E m fatic (115) Q V T o (104) S iriu s (90) X core (77) O C L (59) E M F T ex t (52) In cQ u ery (38) H en sh in (24) K erm eta (21) M O F S crip t (9) 0 500 1,000 1,500 EstimatednumberofDevelopers 5,0 10,0 15,0 20,0 25,0 CommitsperYear
  13. 13. 132003 (3) 2004 (208) 2005 (480) 2006 (539) 2007 (1700) 2008 (1180) 2009 (2602) 2010 (4402) 2011 (7654) 2012 (10511) 2013 (14560) 2014 (23979) 0 5,000 10,000 15,000 20,000 25,000 CommitsperYear
  14. 14. 142003 (1)2004 (4) 2005 (47) 2006 (54) 2007 (372) 2008 (315) 2009 (1014) 2010 (1262) 2011 (3418) 2012 (5144) 2013 (5933) 2014 (13208) 0 5,000 10,000 Lastupdatedfilesperyear EstimatednumberofActiveGitHubRepositories
  15. 15. 15E core (715) X tex t (325) E p silon (104) G M F (103) A cceleo (95) A T L (83) X p an d (73) E m fatic (62) S iriu s (60) JE T (57) X core (51) Q V T o (45) In cQ u ery (28) O C L (26) E M F T ex t (15) H en sh in (11) M O F S crip t (6) K erm eta (5) 0 200 400 600 EstimatednumberofActiveGitHubRepositories
  16. 16. TABLE III % OF SHARED REPOSITORIES FOR EACH PAIR OF TECHNOLOGIES ATL Emfatic Sirius MOFScript Xcore EMFText QVTo Acceleo IncQuery GMF Xtext Ecore OCL Henshin Kermeta JET Xpand Epsilon ATL n/a 11 0 1 0 5 4 9 0 11 20 83 3 1 0 3 7 16 Emfatic 16 n/a 0 1 0 4 6 7 0 34 9 85 1 0 0 1 10 58 Sirius 0 1 n/a 0 1 0 1 25 2 1 30 80 1 1 1 4 4 5 MOFScript 42 28 0 n/a 0 0 14 0 0 14 0 85 0 0 0 0 14 0 Xcore 0 0 0 0 n/a 0 0 1 1 1 42 36 1 0 0 4 5 3 EMFText 15 8 0 0 0 n/a 1 8 0 10 5 87 3 0 1 5 5 10 QVTo 9 9 1 1 0 1 n/a 23 0 34 22 85 2 1 0 11 26 13 Acceleo 6 3 8 0 0 2 8 n/a 0 11 14 53 3 0 0 2 5 7 IncQuery 2 2 4 0 4 0 0 2 n/a 4 17 73 2 2 0 0 6 4 GMF 7 15 0 0 0 2 11 10 0 n/a 14 89 1 2 0 10 18 21 Xtext 4 1 3 0 6 0 2 4 1 5 n/a 68 1 0 0 1 17 3 Ecore 9 6 4 0 2 3 4 8 2 15 33 n/a 2 0 1 5 11 9 OCL 14 4 2 0 4 4 4 16 2 9 23 80 n/a 0 7 9 0 2 Henshin 15 0 7 0 0 0 7 15 7 38 15 92 0 n/a 0 0 38 15 Kermeta 5 0 5 0 0 5 0 5 0 0 21 73 15 0 n/a 0 5 0 JET 3 1 1 0 3 1 5 3 0 15 4 48 2 0 0 n/a 6 4 Xpand 4 4 1 0 2 1 8 4 1 18 51 65 0 2 0 4 n/a 6 Epsilon 17 41 2 0 2 4 6 11 1 32 17 87 0 1 0 5 10 n/a
  17. 17. 17Observations (1/2) •  A healthy number of GitHub repositories (1,928) •  A substantial community of 2,195 developers •  Increasing number of commits on files related to these technologies over the last decade
  18. 18. 18Observations (2/2) •  Model-to-text transformation languages (XPand, Acceleo and JET) appear to be more widely used than model-to-model transformation languages (ATL, QVTo, Henshin) •  Technologies led by industry (Ecore, Xtext, Xpand, GMF, Acceleo and JET) are more widely used than those developed in academia (Epsilon, ATL, Kermeta, Henshin).

×