Skip to main content
Springer Nature - PMC COVID-19 Collection logoLink to Springer Nature - PMC COVID-19 Collection
. 2014 Dec 15;12079:235–253. doi: 10.1007/978-3-030-45237-7_14

Analysing installation scenarios of Debian packages

Benedikt Becker 10, Nicolas Jeannerod 11,, Claude Marché 10, Yann Régis-Gianas 11,12, Mihaela Sighireanu 11, Ralf Treinen 11
Editors: Armin Biere8, David Parker9
PMCID: PMC7480694

Abstract

The Debian distribution includes more than 28 thousand maintainer scripts, almost all of them are written in Posix shell. These scripts are executed with root privileges at installation, update, and removal of a package, which make them critical for system maintenance. While Debian policy provides guidance for package maintainers producing the scripts, few tools exist to check the compliance of a script to it. We report on the application of a formal verification approach based on symbolic execution to find violations of some non-trivial properties required by Debian policy in maintainer scripts. We present our methodology and give an overview of our toolchain. We obtained promising results: our toolchain is effective in analysing a large set of Debian maintainer scripts and it pointed out over 150 policy violations that lead to reports (more than half already fixed) on the Debian Bug Tracking system.

Keywords: Quality Assurance, Safety Properties, Debian, Software Package Installation, Shell Scripts, High-Level View of File Hierarchies, Symbolic Execution, Feature Tree Constraints

Footnotes

This work has been partially supported by the ANR project CoLiS, contract number ANR-15-CE25-0001.

Contributor Information

Armin Biere, Email: biere@jku.at.

David Parker, Email: d.a.parker@cs.bham.ac.uk.

Nicolas Jeannerod, Email: nicolas.jeannerod@irif.fr.

References


Articles from Tools and Algorithms for the Construction and Analysis of Systems are provided here courtesy of Nature Publishing Group

RESOURCES