2017 · 117 citations · 21 references
Software MaintenanceEngineeringSoftware EngineeringPackage DependenciesDependable System ArchitectureSoftware AnalysisOpen-source Software DevelopmentPopular Programming LanguageSoftware EnvironmentOpen-source SystemSystems EngineeringSoftware RepositoryDependency AnalysisDesignSupply Chain ManagementDeployment TechnologySoftware DesignSoftware EvolutionProgram AnalysisSoftware TestingDependency IssuesTechnologySystem Software
Nearly every popular programming language comes with one or more open source software packaging ecosystem(s), containing a large collection of interdependent software packages developed in that programming language. Such packaging ecosystems are extremely useful for their respective software development community. We present an empirical analysis of how the dependency graphs of three large packaging ecosystems (npm, CRAN and RubyGems) evolve over time. We study how the existing package dependencies impact the resilience of the three ecosystems over time and to which extent these ecosystems suffer from issues related to package dependency updates. We analyse specific solutions that each ecosystem has put into place and argue that none of these solutions is perfect, motivating the need for better tools to deal with package dependency update problems.
21
Survival Analysis: A Self-Learning Text
Mark Carpenter · Technometrics · 1997 · 1.4K citations
How do developers react to API deprecation?
Romain Robbes, Mircea Lungu, David Röthlisberger · 2012 · 149 citations
Software Maintenance, Engineering, Change Impact Analysis +17