Survival of Eclipse third-party plug-ins

Today numerous software systems are being developed on top of frameworks. In this study, we analyzed the survival of 467 Eclipse third-party plug-ins altogether having 1,447 versions. We classify these plug-ins into two categories: those that depend on only stable and supported Eclipse APIs and those that depend on at least one of the potentially unstable, discouraged and unsupported Eclipse non-APIs. Comparing the two categories of plug-ins, we observed that the plug-ins depending solely on APIs have a very high source compatibility success rate compared to those that depend on at least one of the non-APIs. However, we have also observed that recently released plug-ins that depend on non-APIs also have a very high forward source compatibility success rate. This high source compatibility success rate is due to the dependency structure of these plug-ins: recently released plug-ins that depend on non-APIs predominantly depend on old Eclipse nonAPIs rather than on newly introduced ones. Finally, we showed that the majority of plug-ins hosted on SourceForge do not evolve beyond the first year of release.

[1]  Ralph Johnson,et al.  How do APIs evolveq A story of refactoring: Research Articles , 2006 .

[2]  R Core Team,et al.  R: A language and environment for statistical computing. , 2014 .

[3]  Alexander Serebrenik,et al.  Eclipse API usage: the good and the bad , 2013, Software Quality Journal.

[4]  Michael W. Godfrey,et al.  Software bertillonage: finding the provenance of an entity , 2011, MSR '11.

[5]  Regina C. Elandt-Johnson,et al.  Survival Models and Data Analysis: Elandt-Johnson/Survival , 1999 .

[6]  Jan Bosch,et al.  Object-oriented framework-based software development: problems and experiences , 2000, CSUR.

[7]  Tom Tourwé,et al.  Automated Support for Framework-Based Software Evolution , 2003 .

[8]  Kevin Crowston,et al.  Information systems success in free and open source software development: theory and measures , 2006, Softw. Process. Improv. Pract..

[9]  Dirk Fahland,et al.  Data and Abstraction for Scenario-Based Modeling with Petri Nets , 2012, Petri Nets.

[10]  Cornelia Boldyreff,et al.  Identifying exogenous drivers and evolutionary stages in FLOSS projects , 2009, J. Syst. Softw..

[11]  Martin P. Robillard,et al.  Recommending adaptive changes for framework evolution , 2011, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[12]  Wei Wu,et al.  AURA: a hybrid approach to identify framework evolution , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[13]  Ralph E. Johnson,et al.  How do APIs evolve? A story of refactoring , 2006 .

[14]  Eric Braude,et al.  Best Principles in the Design of Shared Software , 2009, 2009 33rd Annual IEEE International Computer Software and Applications Conference.

[15]  Jan Friso Groote,et al.  Dogfooding the structural operational semantics of mCRL2 , 2011 .

[16]  Thomas Nolte,et al.  Opaque analysis for resource-sharing components in hierarchical real-time systems : extended version , 2012 .

[17]  Ioannis Stamelos,et al.  Survival analysis on the duration of open source projects , 2010, Inf. Softw. Technol..

[18]  Mikhail Dmitriev Language-specific make technology for the Java programming language , 2002, OOPSLA '02.

[19]  Chandrasekar Subramaniam,et al.  Determinants of open source software project success: A longitudinal study , 2009, Decis. Support Syst..

[20]  Austen Rainer,et al.  Evaluating the Quality and Quantity of Data on Open Source Software Projects , 2005 .

[21]  N. L. Johnson,et al.  Survival Models and Data Analysis , 1982 .

[22]  Dawid Weiss,et al.  Measuring success of open source projects using web search engines , 2005 .

[23]  F. Wilcoxon Individual Comparisons by Ranking Methods , 1945 .

[24]  Mohammad Reza Mousavi,et al.  Synchronizing Asynchronous Conformance Testing , 2011, SEFM.

[25]  Kevin Crowston,et al.  Defining Open Source Software Project Success , 2003, ICIS.

[26]  Oscar Nierstrasz,et al.  The Effect of Object-Oriented Frameworks on Developer Productivity , 1996, Computer.

[27]  Alexander Serebrenik,et al.  Theil index for aggregation of software metrics values , 2010, 2010 IEEE International Conference on Software Maintenance.

[28]  Ying Zou,et al.  Studying the Impact of Clones on Software Defects , 2010, 2010 17th Working Conference on Reverse Engineering.

[29]  Alexander Serebrenik,et al.  Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases , 2012, 2012 IEEE 12th International Working Conference on Source Code Analysis and Manipulation.

[30]  Nicolas Anquetil,et al.  Software quality metrics aggregation in industry , 2013, J. Softw. Evol. Process..

[31]  Charles M Schweik Identifying Success and Abandonment of FLOSS Commons: A Classification of Sourceforge.net Projects , 2007 .

[32]  Pjl Pieter Cuijpers,et al.  Revised budget allocations for fixed-priority-scheduled periodic resources , 2012 .

[33]  Alan Agresti,et al.  Categorical Data Analysis , 2003 .

[34]  Charles M. Schweik,et al.  Brooks' versus Linus' law: an empirical test of open source projects , 2008, DG.O.

[35]  Alexander Serebrenik,et al.  You can't control the unfamiliar: A study on the relations between aggregation techniques for software metrics , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[36]  Alexander Serebrenik,et al.  An empirical study of the evolution of Eclipse third-party plug-ins , 2010, IWPSE-EVOL '10.

[37]  Meir M. Lehman,et al.  Rules and Tools for Software Evolution Planning and Management , 2001, Ann. Softw. Eng..

[38]  Andreas Zeller,et al.  Predicting component failures at design time , 2006, ISESE '06.

[39]  Sjoerd Cranen,et al.  A Cure for Stuttering Parity Games , 2012, ICTAC.

[40]  Miryung Kim,et al.  A graph-based approach to API usage adaptation , 2010, OOPSLA.

[41]  Tom Mens,et al.  Automated support for framework-based software , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..