back to list

Project: Linux package dependency visualization

Description

In UNIX-like operating systems such as Linux, the software is split into  thousands of packages which are tracked by package management software. Interdependency is an important term in this context because in a Linux system, the working of an application may depend on the existence of another application. That is, an application may not work if the application it depends on is not installed in the given system. Packages contain information regarding these dependencies. They also have attributes such as owner, version number, permissions, group ids, files etc.


Currently, Package management software tools provide a textual representation of the package information. This form of representation makes it rather tedious to visually decipher relationships between packages and realize patterns in these relationships. Since these images are important for system analyzers and distribution developers to analyze the system, a visualization of the package dependencies is desired.


This thesis report describes the construction of a visualization tool to help distribution developers, analyzers as well as curious operating system users realize the relationships between packages. This report attempts to achieve an acceptable visualization by researching graphs and applying these to visualize the dependencies between the packages.


Furthermore, this report identifies the applications and limitations of the visualization tool and examines another approach to address these limitations. This report also discusses an attempt to further improve the visualization by using certain improvement techniques.

Details
Student
EX
Ernest Mithun, X.
Supervisor
Huub van de Wetering
Link
Thesis