Analyzing the Evolution of Inter-package Dependencies in Operating Systems: A Case Study of Ubuntu

Victor Prokhorenko, Chadni Islam, M. A. Babar
{"title":"Analyzing the Evolution of Inter-package Dependencies in Operating Systems: A Case Study of Ubuntu","authors":"Victor Prokhorenko, Chadni Islam, M. A. Babar","doi":"10.48550/arXiv.2307.04458","DOIUrl":null,"url":null,"abstract":"An Operating System (OS) combines multiple interdependent software packages, which usually have their own independently developed architectures. When a multitude of independent packages are placed together in an OS, an implicit inter-package architecture is formed. For an evolutionary effort, designers/developers of OS can greatly benefit from fully understanding the system-wide dependency focused on individual files, specifically executable files, and dynamically loadable libraries. We propose a framework, DepEx, aimed at discovering the detailed package relations at the level of individual binary files and their associated evolutionary changes. We demonstrate the utility of DepEx by systematically investigating the evolution of a large-scale Open Source OS, Ubuntu. DepEx enabled us to systematically acquire and analyze the dependencies in different versions of Ubuntu released between 2005 (5.04) to 2023 (23.04). Our analysis revealed various evolutionary trends in package management and their implications based on the analysis of the 84 consecutive versions available for download (these include beta versions). This study has enabled us to assert that DepEx can provide researchers and practitioners with a better understanding of the implicit software dependencies in order to improve the stability, performance, and functionality of their software as well as to reduce the risk of issues arising during maintenance, updating, or migration.","PeriodicalId":386831,"journal":{"name":"European Conference on Software Architecture","volume":"25 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-07-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"European Conference on Software Architecture","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.48550/arXiv.2307.04458","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

An Operating System (OS) combines multiple interdependent software packages, which usually have their own independently developed architectures. When a multitude of independent packages are placed together in an OS, an implicit inter-package architecture is formed. For an evolutionary effort, designers/developers of OS can greatly benefit from fully understanding the system-wide dependency focused on individual files, specifically executable files, and dynamically loadable libraries. We propose a framework, DepEx, aimed at discovering the detailed package relations at the level of individual binary files and their associated evolutionary changes. We demonstrate the utility of DepEx by systematically investigating the evolution of a large-scale Open Source OS, Ubuntu. DepEx enabled us to systematically acquire and analyze the dependencies in different versions of Ubuntu released between 2005 (5.04) to 2023 (23.04). Our analysis revealed various evolutionary trends in package management and their implications based on the analysis of the 84 consecutive versions available for download (these include beta versions). This study has enabled us to assert that DepEx can provide researchers and practitioners with a better understanding of the implicit software dependencies in order to improve the stability, performance, and functionality of their software as well as to reduce the risk of issues arising during maintenance, updating, or migration.
分析操作系统中包间依赖关系的演变:以Ubuntu为例
操作系统(OS)由多个相互依赖的软件包组成,这些软件包通常有自己独立开发的体系结构。当在操作系统中放置大量独立的包时,就形成了隐式的包间体系结构。对于一个进化的努力,操作系统的设计者/开发者可以从完全理解系统范围内对单个文件的依赖中获益,特别是可执行文件和动态加载库。我们提出了一个框架,DepEx,旨在发现单个二进制文件级别的详细包关系及其相关的演化变化。我们通过系统地研究大规模开源操作系统Ubuntu的演变来展示DepEx的实用性。DepEx使我们能够系统地获取和分析2005年(5.04)到2023年(23.04)之间发布的不同版本的Ubuntu的依赖关系。我们的分析揭示了包管理的各种发展趋势,以及基于可下载的84个连续版本(包括beta版本)的分析。这项研究使我们能够断言,DepEx可以为研究人员和实践者更好地理解隐含的软件依赖关系,从而提高其软件的稳定性、性能和功能,并减少在维护、更新或迁移期间出现问题的风险。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信