Skip to Main content Skip to Navigation
Preprints, Working Papers, ...

Having Fun With 31.521 Shell Scripts

Nicolas Jeannerod 1 Yann Régis-Gianas 2, 3 Ralf Treinen 2
3 PI.R2 - Design, study and implementation of languages for proofs and programs
PPS - Preuves, Programmes et Systèmes, Inria Paris-Rocquencourt, UPD7 - Université Paris Diderot - Paris 7, CNRS - Centre National de la Recherche Scientifique : UMR7126
Abstract : Statically parsing shell scripts is, due to various peculiarities of the shell language, a challenge. One of the difficulties is that the shell language is designed to be executed by intertwining reading chunks of syntax with semantic actions. We have analyzed a corpus of 31.521 POSIX shell scripts occurring as maintainer scripts in the Debian GNU/Linux distribution. Our parser, which makes use of recent developments in parser generation technology, succeeds on 99.9% of the corpus. The architecture of our tool allows us to easily plug in various statistical analyzers on the syntax trees constructed from the shell scripts. The statistics obtained by our tool are the basis for the definition of a model which we plan to use in the future for the formal verification of scripts.
Document type :
Preprints, Working Papers, ...
Complete list of metadata

Cited literature [15 references]  Display  Hide  Download
Contributor : Ralf Treinen <>
Submitted on : Tuesday, April 25, 2017 - 2:32:38 PM
Last modification on : Thursday, July 1, 2021 - 5:58:03 PM
Long-term archiving on: : Wednesday, July 26, 2017 - 2:15:14 PM


Files produced by the author(s)


  • HAL Id : hal-01513750, version 1



Nicolas Jeannerod, Yann Régis-Gianas, Ralf Treinen. Having Fun With 31.521 Shell Scripts. 2017. ⟨hal-01513750⟩



Record views


Files downloads