DASCA combines dynamic and static techniques for analysing code for finding security (i.e., vulnerabilities), safety, or reliability problems.
Go to file
Achim D. Brucker 210f2bae92 Integrated confidential test cases. 2018-10-27 23:40:26 +01:00
buildSrc Integrated extraction of android.jar from Android SDK based on the implementation of the WALA gradle setup. 2018-10-27 21:35:20 +01:00
com.logicalhacking.dasca.crosslanguage Integrated extraction of android.jar from Android SDK based on the implementation of the WALA gradle setup. 2018-10-27 21:35:20 +01:00
com.logicalhacking.dasca.crosslanguage.test Integrated extraction of android.jar from Android SDK based on the implementation of the WALA gradle setup. 2018-10-27 21:35:20 +01:00
com.logicalhacking.dasca.crosslanguage.test.confidential@6e8a37fe59 Integrated confidential test cases. 2018-10-27 23:40:26 +01:00
com.logicalhacking.dasca.dataflow File hierarchy refactoring. 2018-10-27 16:19:07 +01:00
com.logicalhacking.dasca.dataflow.test.data File hierarchy refactoring. 2018-10-27 16:19:07 +01:00
com.logicalhacking.dasca.js File hierarchy refactoring. 2018-10-27 16:19:07 +01:00
gradle/wrapper File hierarchy refactoring. 2018-10-27 16:19:07 +01:00
.gitignore File hierarchy refactoring. 2018-10-27 16:19:07 +01:00
.gitmodules Integrated confidential test cases. 2018-10-27 23:40:26 +01:00
CITATION Added ESSoS 2016 publication. 2016-07-28 23:51:21 +01:00
LICENSE Initial commit 2015-05-30 23:28:28 +02:00
README.md Integrated confidential test cases. 2018-10-27 23:40:26 +01:00
build.gradle Integrated extraction of android.jar from Android SDK based on the implementation of the WALA gradle setup. 2018-10-27 21:35:20 +01:00
gradle.properties File hierarchy refactoring. 2018-10-27 16:19:07 +01:00
gradlew File hierarchy refactoring. 2018-10-27 16:19:07 +01:00
gradlew.bat File hierarchy refactoring. 2018-10-27 16:19:07 +01:00
settings.gradle Integrated confidential test cases. 2018-10-27 23:40:26 +01:00

README.md

DASCA

Installation

Prerequisites

  • Java 8 (Java 9 or later is currently not supported)
  • Android SDK (to obtain dx.jar)
  • Eclipse Oxygen, including
  • CVC3 including the Java bindings for CVC3

Checkout

The repository can be cloned as usual:

git clone https://git.logicalhacking.com/DASCA/DASCA.git

Note, if you authorized to access the confidential test cases of DASCA, you can obtain them by executing

git submodule update --init --recursive

WALA configuration

DASCA (and the underlying WALA setup) is tested with Java version 8. If DASCA is installed using Java 8, there should be no need for updating the WALA configuration.

If you experience problems or want to optimize the performance (e.g., by analyzing the programs based on a different Java version), you might need to configure the location of the Java JDK. The JDK used as part of the static analysis is configured in the wala.properties file, e.g.

cd DASCA/
echo "java_runtime_dir = <PATH-TO-JDK>" >> externals/WALA/com.ibm.wala.core/dat/wala.properties

Don't forget to adjust the path to the Java JDK accordingly, i.e., the <PATH-TO-JDK> should point to the directory containing the file rt.lib.

How to Compile

First check that the variable JAVA_HOME is configured correctly, to ensure that Java 8 is used, e.g.:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

The project can be compiled using gradle

./gradlew clean assemble test

Import into Eclipse

All projects can be imported into a (fresh) Eclipse workspace using File -> Import -> Gradle -> Existing Maven Projects:

  1. Select the DASCA folder as source for the import
  2. Import all offered projects

Team

Main contact: Achim D. Brucker

Contributors

License

This project is licensed under the Eclipse Public License 1.0.

Publications