Skip to content

alexrhein/TypeChef-BusyboxAnalysis

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

This project contains evaluation-related material for busybox. It contains the scripting to run the TypeChef parser and type system on Busybox.

It does not include Busybox itself, nor header files, nor the KBuildMiner project.

Preparation

Get sbt (tested with version 0.12.2) and run it in this directory. Sbt will automatically get the last release of TypeChef (You might still want to build a recent development release of TypeChef from the git repo).

Run sbt mkrun to create a run.sbt file, which sets the required build paths.

If you want to check other versions than 1.18.5 you need to download and build KBuildMiner (see README in that directory).

Check the paths to your header files in the redhat.properties file. Currently, the configuration files point to a systems directory for header files. That directory is not part of this repository. If you want to use the exact same headers that we are using, download them here http://www.cs.cmu.edu/~ckaestne/tmp/includes-redhat.tar.bz2

Running on 1.18.5

If you want to run just the 1.18.5 version of busybox, download that version and extract it to a busybox-1.18.5 directory. Subsequently run prepareBusybox.sh to create the required .pc files. Now you can execute TypeChef with ./analyzeBusybox.sh

Running other versions

Checkout the desired version of busybox from the git repo into the directory gitbusybox. Typically you would clone the busybox repo there

git clone git://busybox.net/busybox.git gitbusybox

Run prepareGit.sh to extract the feature model and create .pc files. You can run TypeChef with analyzeBusyboxGit.sh

Good luck. In case of problems contact someone of us.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 87.9%
  • Scala 9.7%
  • Shell 2.4%