Analyzing the Evolution of Inter-package Dependencies in Operating
Systems: A Case Study of Ubuntu
- URL: http://arxiv.org/abs/2307.04458v1
- Date: Mon, 10 Jul 2023 10:12:21 GMT
- Title: Analyzing the Evolution of Inter-package Dependencies in Operating
Systems: A Case Study of Ubuntu
- Authors: Victor Prokhorenko, Chadni Islam and Muhammad Ali Babar
- Abstract summary: An Operating System (OS) combines multiple interdependent software packages, which usually have their own independently developed architectures.
For an evolutionary effort, designers/developers of OS can greatly benefit from fully understanding the system-wide dependency focused on individual files.
We propose a framework, DepEx, aimed at discovering the detailed package relations at the level of individual binary files.
- Score: 7.76541950830141
- License: http://creativecommons.org/licenses/by/4.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.
Related papers
- A Preliminary Study on Self-Contained Libraries in the NPM Ecosystem [2.221643499902673]
The widespread of libraries within modern software ecosystems creates complex networks of dependencies.
One mitigation strategy involves reducing dependencies; libraries with zero dependencies become to self-contained.
This paper explores the characteristics of self-contained libraries within the NPM ecosystem.
arXiv Detail & Related papers (2024-06-17T09:33:49Z) - How to Understand Whole Software Repository? [64.19431011897515]
An excellent understanding of the whole repository will be the critical path to Automatic Software Engineering (ASE)
We develop a novel method named RepoUnderstander by guiding agents to comprehensively understand the whole repositories.
To better utilize the repository-level knowledge, we guide the agents to summarize, analyze, and plan.
arXiv Detail & Related papers (2024-06-03T15:20:06Z) - See to Believe: Using Visualization To Motivate Updating Third-party Dependencies [1.7914660044009358]
Security vulnerabilities introduced by applications using third-party dependencies are on the increase.
Developers are wary of library updates, even to fix vulnerabilities, citing that being unaware, or that the migration effort to update outweighs the decision.
In this paper, we hypothesize that the dependency graph visualization (DGV) approach will motivate developers to update.
arXiv Detail & Related papers (2024-05-15T03:57:27Z) - pyvene: A Library for Understanding and Improving PyTorch Models via
Interventions [79.72930339711478]
$textbfpyvene$ is an open-source library that supports customizable interventions on a range of different PyTorch modules.
We show how $textbfpyvene$ provides a unified framework for performing interventions on neural models and sharing the intervened upon models with others.
arXiv Detail & Related papers (2024-03-12T16:46:54Z) - The Stackage Repository: An Exploratory Study of its Evolution [0.0]
This paper conducts empirical research about the evolution of Stackage considering monad packages.
To the best of our knowledge, this is the first large-scale analysis of the evolution of the Stackage repository regarding packages used and monads.
arXiv Detail & Related papers (2023-10-16T23:42:47Z) - PyRCA: A Library for Metric-based Root Cause Analysis [66.72542200701807]
PyRCA is an open-source machine learning library of Root Cause Analysis (RCA) for Artificial Intelligence for IT Operations (AIOps)
It provides a holistic framework to uncover the complicated metric causal dependencies and automatically locate root causes of incidents.
arXiv Detail & Related papers (2023-06-20T09:55:10Z) - Promises and Perils of Mining Software Package Ecosystem Data [10.787686237395816]
Third-party packages have led to the emergence of large software package ecosystems with a maze of inter-dependencies.
Understanding the infrastructure and dynamics of package ecosystems has given rise to approaches for better code reuse, automated updates, and the avoidance of vulnerabilities.
In this chapter, we review promises and perils of mining the rich data related to software package ecosystems available to software engineering researchers.
arXiv Detail & Related papers (2023-05-29T03:09:48Z) - SequeL: A Continual Learning Library in PyTorch and JAX [50.33956216274694]
SequeL is a library for Continual Learning that supports both PyTorch and JAX frameworks.
It provides a unified interface for a wide range of Continual Learning algorithms, including regularization-based approaches, replay-based approaches, and hybrid approaches.
We release SequeL as an open-source library, enabling researchers and developers to easily experiment and extend the library for their own purposes.
arXiv Detail & Related papers (2023-04-21T10:00:22Z) - Tangelo: An Open-source Python Package for End-to-end Chemistry
Workflows on Quantum Computers [85.21205677945196]
Tangelo is an open-source Python software package for the development of end-to-end chemistry on quantum computers.
It aims to support the design of successful experiments on quantum hardware, and to facilitate advances in quantum algorithm development.
arXiv Detail & Related papers (2022-06-24T17:44:00Z) - LONViZ: Unboxing the black-box of Configurable Software Systems from a
Complex Networks Perspective [9.770775293243934]
This paper proposes a tool, dubbed LONViZ, to facilitate the exploratory analysis of black-boxconfigured software systems.
In experiments, we choose four widely used real-world software systems to develop benchmark platforms under 42 different running environments.
We find that LONViZ enables both qualitative and quantitative analysis and disclose various interesting hidden patterns and properties of different software systems.
arXiv Detail & Related papers (2022-01-05T03:14:39Z) - DIETERpy: a Python framework for The Dispatch and Investment Evaluation
Tool with Endogenous Renewables [62.997667081978825]
DIETER is an open-source power sector model designed to analyze future settings with very high shares of variable renewable energy sources.
It minimizes overall system costs, including fixed and variable costs of various generation, flexibility and sector coupling options.
We introduce DIETERpy that builds on the existing model version, written in the General Algebraic Modeling System (GAMS) and enhances it with a Python framework.
arXiv Detail & Related papers (2020-10-02T09:27:33Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.