Skip to main content
Erschienen in: Empirical Software Engineering 5/2021

01.09.2021

An empirical study of same-day releases of popular packages in the npm ecosystem

verfasst von: Filipe R. Cogo, Gustavo A. Oliva, Cor-Paul Bezemer, Ahmed E. Hassan

Erschienen in: Empirical Software Engineering | Ausgabe 5/2021

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Within a software ecosystem, client packages can reuse provider packages as third-party libraries. The reuse relation between client and provider packages is called a dependency. When a client package depends on the code of a provider package, every change that is introduced in a release of the provider has the potential to impact the client package. Since a large number of dependencies exist within a software ecosystem, releases of a popular provider package can impact a large number of clients. Occasionally, multiple releases of a popular package need to be published on the same day, leading to a scenario in which the time available to revise, test, build, and document the release is restricted compared to releases published within a regular schedule. In this paper, our objective is to study the same-day releases that are published by popular packages in the npm ecosystem. We design an exploratory study to characterize the type of changes that are introduced in same-day releases, the prevalence of same-day releases in the npm ecosystem, and the adoption of same-day releases by client packages. A preliminary manual analysis of the existing release notes suggests that same-day releases introduce non-trivial changes (e.g., bug fixes). We then focus on three RQs. First, we study how often same-day releases are published. We found that the median proportion of regularly scheduled releases that are interrupted by a same-day release (per popular package) is 22%, suggesting the importance of having timely and systematic procedures to cope with same-day releases. Second, we study the performed code changes in same-day releases. We observe that 32% of the same-day releases have larger changes compared with their prior release, thus showing that some same-day releases can undergo significant maintenance activity despite their time-constrained nature. In our third RQ, we study how client packages react to same-day releases of their providers. We observe the vast majority of client packages that adopt the release preceding the same-day release would also adopt the latter without having to change their versioning statement (implicit updates). We also note that explicit adoptions of same-day releases (i.e., adoptions that require a change to the versioning statement of the provider in question) is significantly faster than the explicit adoption of regular releases. Based on our findings, we argue that (i) third-party tools that support the automation of dependency management (e.g., Dependabot) should consider explicitly flagging same-day releases, (ii) popular packages should strive for optimized release pipelines that can properly handle same-day releases, and (iii) future research should design scalable, ecosystem-ready tools that support provider packages in assessing the impact of their code changes on client packages.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Anhänge
Nur mit Berechtigung zugänglich
Fußnoten
7
The semantic version manifest is described in https://​semver.​org. The usage of semantic version for version numbers is not mandatory in npm, but strongly recommended. See https://​docs.​npmjs.​com/​about-semantic-versioning
 
15
In our regular expression notation, the — operator is a logical OR and the * operator is a non-greed zero-or-more matcher of any character. All other symbols are literal characters.
 
Literatur
Zurück zum Zitat Adams B, McIntosh S (2016) Modern release engineering in a nutshell – why researchers should care. In: Proceedings of the 2016 IEEE 23rd international conference on software analysis, evolution, and reengineering, IEEE, SANER’16. pp 78–90 Adams B, McIntosh S (2016) Modern release engineering in a nutshell – why researchers should care. In: Proceedings of the 2016 IEEE 23rd international conference on software analysis, evolution, and reengineering, IEEE, SANER’16. pp 78–90
Zurück zum Zitat Al Alam SMD, Shahnewaz SM, Pfahl D, Ruhe G (2014) Monitoring bottlenecks in achieving release readiness: A retrospective case study across ten oss projects. In: Proceedings of the 8th ACM/IEEE international symposium on empirical software engineering and measurement, ESEM’14 Al Alam SMD, Shahnewaz SM, Pfahl D, Ruhe G (2014) Monitoring bottlenecks in achieving release readiness: A retrospective case study across ten oss projects. In: Proceedings of the 8th ACM/IEEE international symposium on empirical software engineering and measurement, ESEM’14
Zurück zum Zitat Arnold RS (1996) Software change impact analysis. IEEE Computer Society Press, Washington Arnold RS (1996) Software change impact analysis. IEEE Computer Society Press, Washington
Zurück zum Zitat Bauer DF (1972) Constructing confidence sets using rank statistics. J Am Stat Assoc 67(339):687–690CrossRef Bauer DF (1972) Constructing confidence sets using rank statistics. J Am Stat Assoc 67(339):687–690CrossRef
Zurück zum Zitat Castelluccio M, An L, Khomh F (2019) An empirical study of patch uplift in rapid release development pipelines. Empir Softw Eng 24(5):3008–3044CrossRef Castelluccio M, An L, Khomh F (2019) An empirical study of patch uplift in rapid release development pipelines. Empir Softw Eng 24(5):3008–3044CrossRef
Zurück zum Zitat Chen L, Hassan F, Wang X, Zhang L (2020) Taming behavioral backward incompatibilities via cross-project testing and analysis. In: Proceedings of the 42nd ACM/IEEE international conference on software engineering, ICSE’20. pp 112–124 Chen L, Hassan F, Wang X, Zhang L (2020) Taming behavioral backward incompatibilities via cross-project testing and analysis. In: Proceedings of the 42nd ACM/IEEE international conference on software engineering, ICSE’20. pp 112–124
Zurück zum Zitat Cliff N (1996) Ordinal methods for behavioral data analysis. Psychology Press, New-York Cliff N (1996) Ordinal methods for behavioral data analysis. Psychology Press, New-York
Zurück zum Zitat Cox J, Bouwers E, van Eekelen M, Visser J (2015) Measuring dependency freshness in software systems. In: 2015 IEEE/ACM 37Th IEEE international conference on software engineering, vol 2, pp 109–118 Cox J, Bouwers E, van Eekelen M, Visser J (2015) Measuring dependency freshness in software systems. In: 2015 IEEE/ACM 37Th IEEE international conference on software engineering, vol 2, pp 109–118
Zurück zum Zitat Czerwonka J, Das R, Nagappan N, Tarvo A, Teterev A (2011) Crane: Failure prediction, change analysis and test prioritization in practice – experiences from windows. In: 2011 Fourth IEEE international conference on software testing, verification and validation. pp 357–366 Czerwonka J, Das R, Nagappan N, Tarvo A, Teterev A (2011) Crane: Failure prediction, change analysis and test prioritization in practice – experiences from windows. In: 2011 Fourth IEEE international conference on software testing, verification and validation. pp 357–366
Zurück zum Zitat Decan A, Mens T (2019) What do package dependencies tell us about semantic versioning?. IEEE Trans Softw Eng :1–1 Decan A, Mens T (2019) What do package dependencies tell us about semantic versioning?. IEEE Trans Softw Eng :1–1
Zurück zum Zitat Decan A, Mens T, Claes M (2017) An empirical comparison of dependency issues in OSS packaging ecosystems. In: Proceedings of the 24th IEEE international conference on software analysis, evolution, and reengineering, SANER’17. pp 2–12 Decan A, Mens T, Claes M (2017) An empirical comparison of dependency issues in OSS packaging ecosystems. In: Proceedings of the 24th IEEE international conference on software analysis, evolution, and reengineering, SANER’17. pp 2–12
Zurück zum Zitat Erenkrantz JR (2003) Release management within open source projects. In: Proc. 3rd. workshop on open source software engineering Erenkrantz JR (2003) Release management within open source projects. In: Proc. 3rd. workshop on open source software engineering
Zurück zum Zitat Eski S, Buzluca F (2011) An empirical study on object-oriented metrics and software evolution in order to reduce testing costs by predicting change-prone classes. In: Proceedings of the 2011 IEEE fourth international conference on software testing, verification and validation workshops, IEEE Computer Society, Washington, DC, USA, ICSTW ’11. pp 566–571 Eski S, Buzluca F (2011) An empirical study on object-oriented metrics and software evolution in order to reduce testing costs by predicting change-prone classes. In: Proceedings of the 2011 IEEE fourth international conference on software testing, verification and validation workshops, IEEE Computer Society, Washington, DC, USA, ICSTW ’11. pp 566–571
Zurück zum Zitat Fox A (2002) Toward recovery-oriented computing. In: Bernstein PA, Ioannidis YE, Ramakrishnan R, Papadias D (eds) VLDB ’02: Proceedings of the 28th international conference on very large databases. Morgan Kaufmann, San Francisco, pp 873–876 Fox A (2002) Toward recovery-oriented computing. In: Bernstein PA, Ioannidis YE, Ramakrishnan R, Papadias D (eds) VLDB ’02: Proceedings of the 28th international conference on very large databases. Morgan Kaufmann, San Francisco, pp 873–876
Zurück zum Zitat Graves TL, Karr AF, Marron JS, Siy H (2000) Predicting fault incidence using software change history. IEEE Trans Softw Eng 26(7):653–661CrossRef Graves TL, Karr AF, Marron JS, Siy H (2000) Predicting fault incidence using software change history. IEEE Trans Softw Eng 26(7):653–661CrossRef
Zurück zum Zitat Haenni N, Lungu M, Schwarz N, Nierstrasz O (2014) A quantitative analysis of developer information needs in software ecosystems. In: Proceedings of the 2014 European conference on software architecture workshops, ACM, New York, NY, USA, ECSAW ’14. pp 12:1–12:6 Haenni N, Lungu M, Schwarz N, Nierstrasz O (2014) A quantitative analysis of developer information needs in software ecosystems. In: Proceedings of the 2014 European conference on software architecture workshops, ACM, New York, NY, USA, ECSAW ’14. pp 12:1–12:6
Zurück zum Zitat Hamilton J (2007) On designing and deploying internet-scale services. In: Proceedings of the 21st conference on large installation system administration conference, USENIX Association, Berkeley, CA, USA, LISA’07. pp 18:1–18:12 Hamilton J (2007) On designing and deploying internet-scale services. In: Proceedings of the 21st conference on large installation system administration conference, USENIX Association, Berkeley, CA, USA, LISA’07. pp 18:1–18:12
Zurück zum Zitat Hassan S, Shang W, Hassan AE (2017) An empirical study of emergency updates for top android mobile apps. Empir Softw Eng 22(1):505–546CrossRef Hassan S, Shang W, Hassan AE (2017) An empirical study of emergency updates for top android mobile apps. Empir Softw Eng 22(1):505–546CrossRef
Zurück zum Zitat Jaspan C, Jorde M, Knight A, Sadowski C, Smith EK, Winter C, Murphy-Hill E (2018) Advantages and disadvantages of a monolithic repository: A case study at google. In: Proceedings of the 40th international conference on software engineering: software engineering in practice, ACM, New York, NY, USA, ICSE-SEIP ’18. pp 225–234 Jaspan C, Jorde M, Knight A, Sadowski C, Smith EK, Winter C, Murphy-Hill E (2018) Advantages and disadvantages of a monolithic repository: A case study at google. In: Proceedings of the 40th international conference on software engineering: software engineering in practice, ACM, New York, NY, USA, ICSE-SEIP ’18. pp 225–234
Zurück zum Zitat Kajko-Mattsson M, Yulong F (2005) Outlining a model of a release management process. J Integr Des Process Sci 9(4):13–25 Kajko-Mattsson M, Yulong F (2005) Outlining a model of a release management process. J Integr Des Process Sci 9(4):13–25
Zurück zum Zitat Kerzazi N, Adams B (2016) Botched releases: do we need to roll back? empirical study on a commercial web app. In: 2016 IEEE 23rd international conference on software analysis, evolution, and reengineering, IEEE, SANER’16. pp 574–583 Kerzazi N, Adams B (2016) Botched releases: do we need to roll back? empirical study on a commercial web app. In: 2016 IEEE 23rd international conference on software analysis, evolution, and reengineering, IEEE, SANER’16. pp 574–583
Zurück zum Zitat Kikas R, Gousios G, Dumas M, Pfahl D (2017) Structure and evolution of package dependency networks. In: IEEE international working conference on mining software repositories, MSR’17. pp 102–112 Kikas R, Gousios G, Dumas M, Pfahl D (2017) Structure and evolution of package dependency networks. In: IEEE international working conference on mining software repositories, MSR’17. pp 102–112
Zurück zum Zitat Lahtela A, Janttï M (2011) Challenges and problems in release management process: A case study. In: Proceedings of the 2nd IEEE international conference on software engineering and service science, ICSESS’11. pp 10–13 Lahtela A, Janttï M (2011) Challenges and problems in release management process: A case study. In: Proceedings of the 2nd IEEE international conference on software engineering and service science, ICSESS’11. pp 10–13
Zurück zum Zitat Lex A, Gehlenborg N, Strobelt H, Vuillemot R, Pfister H (2014) Upset: Visualization of intersecting sets. IEEE Trans Vis Comput Graph 20(12):1983–1992CrossRef Lex A, Gehlenborg N, Strobelt H, Vuillemot R, Pfister H (2014) Upset: Visualization of intersecting sets. IEEE Trans Vis Comput Graph 20(12):1983–1992CrossRef
Zurück zum Zitat Lin D, Bezemer CP, Hassan AE (2017) Studying the urgent updates of popular games on the Steam platform. Empir Softw Eng 22(4):2095–2126CrossRef Lin D, Bezemer CP, Hassan AE (2017) Studying the urgent updates of popular games on the Steam platform. Empir Softw Eng 22(4):2095–2126CrossRef
Zurück zum Zitat Louis M, Rea RAP (2014) Designing and conducting survey research: a comprehensive guide. 4th edn. Wiley, Hoboken Louis M, Rea RAP (2014) Designing and conducting survey research: a comprehensive guide. 4th edn. Wiley, Hoboken
Zurück zum Zitat Mȧntylȧ MV, Adams B, Khomh F, Engstrȯm E, Petersen K (2015) On rapid releases and software testing: a case study and a semi-systematic literature review. Empir Softw Eng 20(5):1384–1425CrossRef Mȧntylȧ MV, Adams B, Khomh F, Engstrȯm E, Petersen K (2015) On rapid releases and software testing: a case study and a semi-systematic literature review. Empir Softw Eng 20(5):1384–1425CrossRef
Zurück zum Zitat Mezzetti G, Møller A, Torp MT (2018) Type regression testing to detect breaking changes in node.js libraries. In: 32nd european conference on object-oriented programming (ECOOP 2018) Mezzetti G, Møller A, Torp MT (2018) Type regression testing to detect breaking changes in node.js libraries. In: 32nd european conference on object-oriented programming (ECOOP 2018)
Zurück zum Zitat Moreno L, Bavota G, Di Penta M, Oliveto R, Marcus A, Canfora G (2014) Automatic generation of release notes. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE’14). pp 484–495 Moreno L, Bavota G, Di Penta M, Oliveto R, Marcus A, Canfora G (2014) Automatic generation of release notes. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE’14). pp 484–495
Zurück zum Zitat Moser R, Pedrycz W, Succi G (2008) A comparative analysis of the efficiency of change metrics and static code attributes for defect prediction. In: Proceedings of the 30th International Conference on Software Engineering, ACM, New York, NY, USA, ICSE ’08. pp 181–190 Moser R, Pedrycz W, Succi G (2008) A comparative analysis of the efficiency of change metrics and static code attributes for defect prediction. In: Proceedings of the 30th International Conference on Software Engineering, ACM, New York, NY, USA, ICSE ’08. pp 181–190
Zurück zum Zitat Mujahid S, Abdalkareem R, Shihab E, McIntosh S (2020) Using others’ tests to identify breaking updates. pp 466–476, MSR’20 Mujahid S, Abdalkareem R, Shihab E, McIntosh S (2020) Using others’ tests to identify breaking updates. pp 466–476, MSR’20
Zurück zum Zitat Nagappan N, Ball T (2005) Use of relative code churn measures to predict system defect density. In: Proceedings of the 27th international conference on software engineering, ACM, New York, NY, USA, ICSE ’05, pp 284–292 Nagappan N, Ball T (2005) Use of relative code churn measures to predict system defect density. In: Proceedings of the 27th international conference on software engineering, ACM, New York, NY, USA, ICSE ’05, pp 284–292
Zurück zum Zitat Romano J, Kromrey J, Coraggio J, Skowronek J (2006) Appropriate statistics for ordinal level data: should we really be using t-test and Cohen’s d for evaluating group differences on the NSSE and other surveys?. In: Annual meeting of the Florida association of institutional research Romano J, Kromrey J, Coraggio J, Skowronek J (2006) Appropriate statistics for ordinal level data: should we really be using t-test and Cohen’s d for evaluating group differences on the NSSE and other surveys?. In: Annual meeting of the Florida association of institutional research
Zurück zum Zitat Schober P, Boer C, A Schwarte L (2018) Correlation coefficients: Appropriate use and interpretation. Anesth Analg 126(5) Schober P, Boer C, A Schwarte L (2018) Correlation coefficients: Appropriate use and interpretation. Anesth Analg 126(5)
Zurück zum Zitat Stol KJ, Ralph P, Fitzgerald B (2016) Grounded theory in software engineering research: A critical review and guidelines. In: Proceedings of the 38th international conference on software engineering (ICSE’16). pp 120–131 Stol KJ, Ralph P, Fitzgerald B (2016) Grounded theory in software engineering research: A critical review and guidelines. In: Proceedings of the 38th international conference on software engineering (ICSE’16). pp 120–131
Zurück zum Zitat Van der Hoek A, Wolf AL (2003) Software release management for component-based software. Softw Pract Exper 33(1):77–98CrossRef Van der Hoek A, Wolf AL (2003) Software release management for component-based software. Softw Pract Exper 33(1):77–98CrossRef
Zurück zum Zitat Wittern E, Suter P, Rajagopalan S (2016) A look at the dynamics of the JavaScript package ecosystem. In: Proceedings of the 13th international workshop on mining software repositories, MSR’16, pp 351–361 Wittern E, Suter P, Rajagopalan S (2016) A look at the dynamics of the JavaScript package ecosystem. In: Proceedings of the 13th international workshop on mining software repositories, MSR’16, pp 351–361
Zurück zum Zitat Zerouali A, Mens T, Gonzalez-Barahona J, Decan A, Constantinou E, Robles G (2019) A formal framework for measuring technical lag in component repositories and its application to npm. J Softw Evol Process Zerouali A, Mens T, Gonzalez-Barahona J, Decan A, Constantinou E, Robles G (2019) A formal framework for measuring technical lag in component repositories and its application to npm. J Softw Evol Process
Metadaten
Titel
An empirical study of same-day releases of popular packages in the npm ecosystem
verfasst von
Filipe R. Cogo
Gustavo A. Oliva
Cor-Paul Bezemer
Ahmed E. Hassan
Publikationsdatum
01.09.2021
Verlag
Springer US
Erschienen in
Empirical Software Engineering / Ausgabe 5/2021
Print ISSN: 1382-3256
Elektronische ISSN: 1573-7616
DOI
https://doi.org/10.1007/s10664-021-09980-6

Weitere Artikel der Ausgabe 5/2021

Empirical Software Engineering 5/2021 Zur Ausgabe

Premium Partner