kirancodes.me
To Proof Maintenance & Beyond!

On software component co-installability

Roberto Di Cosmo, Jérôme Vouillon

Abstract

Modern software systems are built by composing components drawn from large repositories, whose size and complexity is increasing at a very fast pace. A fundamental challenge for the maintainability and the scalability of such software systems is the ability to quickly identify the components that can or cannot be installed together: this is the co-installability problem, which is related to boolean satisfiability and is known to be algorithmically hard. This paper develops a novel theoretical framework, based on formally certified. semantic preserving graph-theoretic transformations, that allows to associate to each concrete component repository a much smaller one with a simpler structure, but with equivalent co-installability properties. This smaller repository can be represented graphically, giving a concise view of the co-installability issues in the original repository, or used as a basis for various algorithms related to co-installability, like the efficient computation of strong conflicts between components. The proofs contained in this work have been machine checked in Coq.

BibTeX
@inproceedings{Cosmo-Vouillon:FSE11,
  author    = {Roberto Di Cosmo and
               J{\'{e}}r{\^{o}}me Vouillon},
  title     = {On software component co-installability},
  booktitle = {FSE},
  pages     = {256--266},
  publisher = {{ACM}},
  year      = {2011},
}

Related papers