The COINST-UPGRADES tool: finding issues in software repository evolution

From this page you can access a selection of results of the analysis of Debian distributions computed using the COINST-UPGRADES tool. This tool has been written by Jérôme Vouillon.

The theory

COINST-UPGRADES embodies the algorithms described in article Broken Sets in Software Repository Evolution, ICSE 2013 (copyright IEEE).

Installing the tool

The tool is packaged in Debian. You can install it with the following command.

apt-get install coinst

Alternatively, the source code for this tool is available on Github. In order to compile it, you need the OCaml compiler, and the Findlib and Cudf libraries. Then, you can just type "make" to start the compilation.

The binary is called coinst-upgrades.

Usage

First, you need to download the Debian control files of the pair of distributions you want to consider. The following commands download the control files for Debian testing respectively on Dec 20, 2011 and Jan 01, 2012.

wget http://snapshot.debian.org/archive/debian/20111220/dists/testing/main/binary-i386/Packages.bz2 -O 2011-12-20.bz2
wget http://snapshot.debian.org/archive/debian/20120120/dists/testing/main/binary-i386/Packages.bz2 -O 2012-01-20.bz2

Then, you can run the tool on this pair of files to get a collection of upgrade issues.

coinst-upgrades -o issues.html 2011-12-20.bz2 2012-01-20.bz2
The output can be viewed with a Web browser.
firefox issues.html

Sample outputs

You can view a daily report of issues, generated by coinst-upgrades and the related tool comigrate.

Issues introduced between pairs of Debian testing snapshots, one month apart:

Issues introduced between major Debian releases:

Submitted bug reports

In December 2012, we have run the tool between squeeze and wheezy. We have found a number of bugs that we have reported in the Debian bug tracking system.