Skip to content

Install DLint Manually

Liang Gong edited this page Jan 19, 2016 · 4 revisions

Before any actions

All following instructions assume that the current working directory is the root direcotry of DLint and that the main jalangi directory is a sibling directory of DLint (do not worry about it: commands in Install section will make sure this happens). This project currently supports Mac OS and Linux.

Requirements

This project is built upon jalangi. If you already have Jalangi executed on your machine, you can skip this section and go to the Install section.

Jalangi is tested on Mac OS X 10.8 with Chromium browser. Jalangi should work on Mac OS 10.7, Ubuntu 11.0 and higher and Windows 7 or higher. Jalangi will NOT work with IE.

  • Latest version of Node.js available at http://nodejs.org/. We have tested Jalangi with Node v0.10.25.
  • Sun's JDK 1.6 or higher. We have tested Jalangi with Java 1.6.0_43.
  • Command-line git.
  • libgmp (http://gmplib.org/) is required by cvc3. Concolic testing uses cvc3 and automaton.jar for constraint solving. The installation script checks if cvc3 and automaton.jar are installed properly.
  • Chrome browser if you need to test web apps.
  • Python (http://python.org) version 2.7 or higher

On Windows you need the following extra dependencies:

  • Install Microsoft Visual Studio 2010 (Free express version is fine).
  • If on 64bit also install Windows 7 64-bit SDK.

If you have a fresh installation of Ubuntu, you can install all the requirements by invoking the following commands from a terminal.

sudo apt-get update
sudo apt-get install python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
sudo update-java-alternatives -s java-7-oracle
sudo apt-get install git
sudo apt-get install libgmp10
sudo apt-get install chromium-browser

Manually Install DLint in 4 Steps

Step 1: execute the following commands to install basic libraries for DLint:

node src/js/install.js
npm install cli
npm install stats
npm install jshint
npm install doctrine
npm install xmldom
npm install jsdom@3.1.2
npm install node-js-beautify
npm install google-search-scraper
export PATH="`pwd`/scripts/path_unix":$PATH

Step 2:

  • Install our custom version of Firefox: Linux (64 bit), (Mirror-1), Mac OS (64 bit), (Mirror-1). More details here.
  • In file, src/java/evaluation/ExperimentRunner.java and src/java/evaluation/OctaneExperimentRunner.java: Make sure the variable firefoxBinary points to the location where you installed the custom version of Firefox.
// modify the following assignment with the correct value.
final String firefoxBinary = "/Applications/Nightly.app/Contents/MacOS/firefox-bin";

Step3: execute the following commands to compile the Java code:

javac -d thirdparty -cp thirdparty/selenium-server-standalone-2.41.0.jar `pwd`/src/java/evaluation/ExperimentRunner.java
javac -d thirdparty -cp thirdparty/selenium-server-standalone-2.41.0.jar `pwd`/src/java/evaluation/JalangiFirefoxRunner.java
javac -d thirdparty -cp thirdparty/selenium-server-standalone-2.41.0.jar `pwd`/src/java/evaluation/OctaneExperimentRunner.java

Step 4: Install the GUI warning viewer for DLint:

cd ..
git clone https://github.com/JacksonGL/noide.git
cd noide
npm install ncp
npm install less
npm install vash
npm install rimraf
npm install express
npm install morgan
npm install chokidar
npm install socket.io
npm install browserify
npm install js-beautify
npm install body-parser
npm install cookie-parser
npm install static-favicon
npm install emitter-component
npm run build
cd ../DLint

Now you are good to go, have fun with DLint!