Empirical Software Engineering manuscript No. (will be inserted by the editor) How the Apache Community Upgrades Dependencies: An Evolutionary Study? Gabriele Bavota Gerardo Canfora · · Massimiliano Di Penta Rocco Oliveto · · Sebastiano Panichella the date of receipt and acceptance should be inserted later Abstract Software ecosystems consist of multiple software projects, often in- terrelated by means of dependency relations. When one project undergoes changes, other projects may decide to upgrade their dependency. For exam- ple, a project could use a new version of a component from another project because the latter has been enhanced or subject to some bug-fixing activities. In this paper we study the evolution of dependencies between projects in the Java subset of the Apache ecosystem, consisting of 147 projects, for a period of 14 years, resulting in 1,964 releases. Specifically, we investigate (i) how de- pendencies between projects evolve over time when the ecosystem grows, (ii) what are the product and process factors that can likely trigger dependency upgrades, (iii) how developers discuss the needs and risks of such upgrades, ? This paper is an extended version of the paper: “Gabriele Bavota, Gerardo Canfora, Massimiliano Di Penta, Rocco Oliveto, Sebastiano Panichella: The Evolution of Project Inter-dependencies in a Software Ecosystem: The Case of Apache. 2013 IEEE International Conference on Software Maintenance, ICSM 2013, Eindhoven, The Netherlands, September 22-28, 2013: 280-289, IEEE” Gabriele Bavota Dept of Engineering, University of Sannio, Benevento (BN), Italy E-mail:
[email protected] Gerardo Canfora Dept of Engineering, University of Sannio, Benevento (BN), Italy E-mail:
[email protected] Massimiliano Di Penta Dept of Engineering, University of Sannio, Benevento (BN), Italy E-mail:
[email protected] Rocco Oliveto Dept.