A Technique for Improving Cloud-based Continuous Integration Environments

This is the companion Web site for the paper titled: “A Technique for Improving Cloud-based Continuous Integration Environments”, that I submitted to ASE 2015.

Compiled code can be found [Here] while the input YAML files are [Here] .

To run the example you must have installed the IBM ILOG CPLEX software. This software can be requested for free for academic use directly from the IBM Web site.

Once you have CPLEX unzip the code.zip distribution and the data.tar.gz, update the java.path.library entry inside the target/bin scripts to point to YOUR CPLEX installation. (Note that you can test if the installation is correct with the ./bin/testSolvers script).

The “bin/doSingleEvaluation” script will run the experiment for RQ1 for a given technique; the “bin/doSingleEvolution” script will run the experiment for RQ2 for a given technique.

Note: since we do not upload the full Debian data set, the software will use (and cache in the .cache file) random values for the input parameters (test duration, packages installation time, etc).

./bin/doSingleEvaluation -o <OPTIMIZER: parallel-random,global, etc> -t <YAML test file> -s <YAML snapshot file> -n <Available processing units> -d <Output folder>

./bin/doSingleEvolution -startDate <START_DATE> -window <1d 0h> -maxWindows <N_SLOTS> -testPackages <List of PACKAGE names> –baseDir <BASE_DIR>  –initialSnapshotsFile <SNAPSHOT FILE> –availableProcessingUnits <Available Processing UNITs>  –optimizerName <OPTIMIZER Name> –resultDir <OUTPUT_FOLDER>