DASCA/README.md

93 lines
2.7 KiB
Markdown
Raw Normal View History

2015-05-29 09:21:26 +00:00
# DASCA
2018-10-26 22:01:13 +00:00
2015-06-15 07:22:50 +00:00
## Installation
2018-10-26 22:01:13 +00:00
2015-06-15 07:22:50 +00:00
### Prerequisites
2018-10-26 22:01:13 +00:00
* Java 8 (Java 9 or later is currently *not* supported)
2015-10-29 12:48:37 +00:00
* Android SDK (to obtain dx.jar)
* Eclipse Oxygen, including
2018-05-05 05:58:47 +00:00
* The Plug-in Development Environment (PDE)
* JavaScript Development Tools (JSDT)
* Gradle Integration (Buildship)
* [Scala IDE and Scalatest Runner (the latter is optional)](http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/site)
2016-09-21 21:37:03 +00:00
* [CVC3](http://cs.nyu.edu/acsys/cvc3/) including the Java bindings for CVC3
2015-06-15 07:22:50 +00:00
### Checkout
2018-10-26 22:01:13 +00:00
The repository can be cloned as usual:
``` sh
2018-10-26 22:01:13 +00:00
git clone https://git.logicalhacking.com/DASCA/DASCA.git
```
### WALA configuration
2018-10-26 22:01:13 +00:00
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.
``` sh
cd DASCA/
echo "java_runtime_dir = <PATH-TO-JDK>" >> externals/WALA/com.ibm.wala.core/dat/wala.properties
```
2016-09-21 21:37:03 +00:00
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`.
2015-06-15 07:22:50 +00:00
### How to Compile
2018-10-26 22:01:13 +00:00
First check that the variable `JAVA_HOME` is configured correctly, to ensure
that Java 8 is used, e.g.:
``` sh
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
```
The project can be compiled using gradle
``` sh
./gradlew clean assemble test
2015-06-15 07:22:50 +00:00
```
### Import into Eclipse
All projects can be imported into a (fresh) Eclipse workspace
using `File -> Import -> Gradle -> Existing Maven Projects`:
2016-08-08 19:58:06 +00:00
1. Select the DASCA folder as source for the import
2. Import all offered projects
2015-06-15 07:22:50 +00:00
## Team
2018-10-26 22:01:13 +00:00
2015-06-15 07:22:50 +00:00
Main contact: [Achim D. Brucker](http://www.brucker.ch/)
### Contributors
2018-10-26 22:01:13 +00:00
2015-06-15 07:22:50 +00:00
* Thomas Deuster
* [Michael Herzberg](http://www.dcs.shef.ac.uk/cgi-bin/makeperson?M.Herzberg)
2015-06-15 07:22:50 +00:00
* Tim Herres
2016-07-28 22:51:21 +00:00
2016-11-27 10:40:10 +00:00
## License
2018-10-26 22:01:13 +00:00
This project is licensed under the Eclipse Public License 1.0.
2016-09-14 18:02:44 +00:00
## Publications
2018-10-26 22:01:13 +00:00
2016-07-28 22:51:21 +00:00
* Achim D. Brucker and Michael Herzberg. [On the Static Analysis of
Hybrid Mobile Apps: A Report on the State of Apache Cordova
Nation.](https://www.brucker.ch/bibliography/download/2016/brucker.ea-cordova-security-2016.pdf)
In International Symposium on Engineering Secure Software
and Systems (ESSoS). Lecture Notes in Computer Science (9639), pages
72-88, Springer-Verlag, 2016.
https://www.brucker.ch/bibliography/abstract/brucker.ea-cordova-security-2016
doi: [10.1007/978-3-319-30806-7_5](http://dx.doi.org/10.1007/978-3-319-30806-7_5)