A Large-Scale Study of Programming Languages and Code Quality in GitHub: A Reproducibility Study

Setup

Install missing system packages from the Makefile setup section.

apt-get -qq update
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends \
  git-lfs pandoc tcsh
apt-get clean
rm -r /var/lib/apt/lists/* # Clear package list so it isn't stale

Add missing R packages from the list in setup_r.R.

list.of.packages <- c("rmarkdown","car","data.table","assertthat","fst",
                      "stringr", "plyr","ggplot2","ggrepel","scales","xtable",
                      "MASS","gplots","dplyr","gridExtra","grid","tidyr","irr")
new.packages <- list.of.packages[
  !(list.of.packages %in% installed.packages()[,"Package"])]
if(length(new.packages)) install.packages(new.packages, Ncpus=4)

Download the original artifact.

wget https://media.githubusercontent.com/media/PRL-PRG/TOPLAS19_Artifact/master/original/artifact.tgz -P /results
artifact.tgz

Build Artifact

Setup.

cd /TOPLAS19_Artifact
git checkout -f HEAD
mkdir -p .R

Run the artifact build.

cd /TOPLAS19_Artifact
rm -f /TOPLAS19_Artifact/original/artifact.tgz
ln -sf 
artifact.tgz
/TOPLAS19_Artifact/original/artifact.tgz make artifact

Archive the processed repo, except for raw data files and git files.

tar --exclude='sqlDump' --exclude='.git' --exclude='*.csv' --exclude='*.rdb' \
  -zcvf /results/processed-artifact.tar.xz TOPLAS19_Artifact
processed-artifact.tar.xz

Typeset Paper

Expand archive in the LaTeX runtime.

tar -zxf 
processed-artifact.tar.xz

Typeset the paper.

cd TOPLAS19_Artifact/paper
pdflatex main
bibtex main
pdflatex main
pdflatex main
cp main.pdf /results/
main.pdf