Skip to content
Codeface is a framework for analysing technical and social aspects of software development
R Python JavaScript Shell Perl CSS HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
codeface Fix pipeline dependency handing Aug 22, 2019
conf Add additional configuration files, update default window size Jul 24, 2017
datamodel Don't limit entity ID size for commit dependencies Jan 16, 2017
docs Move non-essential documentation to a separate folder Jun 25, 2016
experiments Fix imports in Nov 3, 2015
id_service Add startup script for ID service Jun 23, 2016
integration-scripts Ensure that node modules can be installed Oct 26, 2018
log Cleanup .gitignore, add log/ and node-* directories Aug 19, 2013
patches Fixed line endings issues Nov 3, 2015
performance Eliminate references to prosoda Jun 25, 2016
.Rprofile Vagrantfile: initial version with basic setup Dec 21, 2013
.gitattributes Force lf line endings on shell scripts Sep 2, 2015
.gitignore Merge branch 'clhunsen-claus-updates' into mergetest May 22, 2017
.travis.yml Extend travis_wait time for R packages to 40 minutes Apr 27, 2017
COPYING Add copyright information Jul 29, 2012 Show Travis CI status in README May 24, 2017
Vagrantfile Update Ubuntu 16.04 base repo May 23, 2017 Add a shell script to analyse project qemu Jun 25, 2016
codeface.conf Remove sloccount and understand settings from global configuration file May 24, 2017
codeface_testing.conf Remove last remnants of "quantarch" Jul 9, 2015
nginx.conf Set nginx configuration default to listen on localhost Sep 23, 2013
nginx.shinyserver.conf Add ttf and woff caching to nginx configuration Sep 27, 2013
packages.r Use Rgraphviz from the standard repository Oct 27, 2018
python_requirements.txt Add travis CI. Feb 26, 2015 Bring closer to sanity Jul 21, 2017 Merge branch 'master' into mergetest May 22, 2017
shiny-server.config Fix shiny server default configuration Oct 28, 2013 Add copyright headers to shiny infrastructure files Aug 1, 2013 Make copyright header checker script more universal Oct 18, 2013 Fix interactive graph tests Sep 7, 2015
timeseries.txt Add mailing list time series to the documentation Jun 25, 2013
understand.txt Document how understand results are processed Sep 30, 2015

Installing and using Codeface

Installing Codeface

The recommended way to set up a Codeface instance is via vagrant. Clone the repository and run

vagrant up

to obtain a fully provisioned Codeface machine. Vagrant defaults to Virtualbox as provider, which may cause large performance impacts especially for I/O heavy tasks. You can /alternatively/ use

vagrant up --provider=lxc

if you have the corresponding LXC provider for vagrant installed on your system. To get shell access on the machine in each case, use

vagrant ssh

If vagrant is not yet installed on your system, please consult the corresponding [wiki page] (

Analysing Projects


Conceptually, work with Codeface is split in two stages:

  1. Analyse projects using the batch-mode command line interface. See for further details. Note that this process involves substantial amounts of git repo querying and data crunching, and can require several hours for large projects like the Linux kernel.
  2. Inspect the results by visual analysis with the web frontend (see for setup details), or by querying the database directly. See file codeface/R/interactive.R for exemplary instructions.

Five Easy Steps to your First Analysis

To perform an analysis of project qemu (a machine emulation software) and inspect the results in the interactive web frontend, run the following steps:

  1. After bringing up the vagrant instance, vagrant ssh into the virtual machine
  2. Start the ID service with /vagrant/id_service/
  3. Run an analysis of qemu with /vagrant/ (this process may take a while to complete)
  4. Start the webserver with cd vagrant; ./
  5. Point your webserver on the host at http://localhost:8081


  • on master
You can’t perform that action at this time.