Analysis of Library Dependency Networks of Package Managers Used in iOS
Reusing existing solutions in the form of third-party libraries is common practice when writing software. Package managers are used to manage dependencies to third-party libraries by automating the process of installing and updating the libraries. Library dependencies themselves can have dependencies to other libraries creating a dependency network with several levels of indirections.
The library dependency network in the Swift ecosystem encompasses libraries from CocoaPods, Carthage and Swift Package Manager (PM). These three package managers are used when developing, for example, iOS or Mac OS applications in Swift or Objective-C. We provide the first analysis of the library dependency network evolution in the Swift ecosystem.
We found that, although CocoaPods is the package manager with the biggest set of libraries, the difference to other package managers is not as big as expected. The youngest package manager and official package manager for Swift, Swift PM, is becoming more and more popular, resulting in a gradual slow-down of the growth of the other two package managers. When analyzing direct and transitive dependencies, we found that the mean total number of dependencies is lower in the Swift ecosystem compared to many other ecosystems. Still, the total number of dependencies shows a clear growing trend over the last five years.
Mon 15 MayDisplayed time zone: Hobart change
11:00 - 12:30 | |||
11:00 25mPaper | Analysis of Library Dependency Networks of Package Managers Used in iOS Research Track Kristiina Rahkema University of Tartu, Dietmar Pfahl University of Tartu, Rudolf Ramler Software Competence Center Hagenberg Pre-print | ||
11:25 25mPaper | FirmwareDroid: Towards Automated Static-Analysis of Pre-Installed Android Apps Research Track Thomas Sutter Zurich University of Applied Science/University of Zurich, Bernhard Tellenbach Armasuisse Cyber-Defence Campus | ||
11:50 15mPaper | Vulnerability Propagation in Package Managers Used in iOS Development Research Track Pre-print | ||
12:05 10mTalk | Q&A Research Track |