/FlowDroidLSPDemo

Primary LanguageJavaEclipse Public License 2.0EPL-2.0

FlowDroidLSPDemo

This project demonstrates integrating FlowDroid into different IDEs with MagpieBridge.

Build FlowDroidLSPDemo with Maven

  1. Build MagpieBridge by yourself using the MagpieBridge ECOOP19 release.
  2. Check out adapted FlowDroid with git checkout -b lsp https://github.com/linghuiluo/FlowDroid.git.
  3. Install FlowDroid into your local maven repository with mvn install -DskipTests (or download, unzip and copy this to your local m2 repository)
  4. Check out master branch of this repository, install it with mvn install -DskipTests.
  5. A jar file called flowdroid-lsp-demo-0.0.1-SNAPSHOT.jar will be created in the target directory. Use it to configure the a language server in an editor following the step 11 from this tutorial

Run FlowDroidLSP in IDEs

  1. Run FlowDroidLSPDemo with this demo Java Project in Eclipse:
  • Use the following arguments for the lanuch configuration -jar PATH_TO_LOCAL_REPO\flowdroid-lsp-demo\target\flowdroid-lsp-demo-0.0.1-SNAPSHOT.jar -c PATH_TO_LOCAL_REPO\flowdroid-lsp-demo\config (see tutorial )
  • Import DemoFlowDroid as Maven project in Eclipse.
  • Open a Java file in this project, this will trigger the server to run FlowDroid.
  • You should see a warning shown in Eclipse as in the following screenshot.
  1. Run FlowDroidLSPDemo with this demo Java Project in Visual Studio Code:
  • Navigate to PATH_TO_LOCAL_REPO\flowdroid-lsp-demo\vscode
  • Run vsce package
  • Install the FlowDroidLSP extension with code --install-extension FlowDroidLSP-0.0.1.vsix
  • Watch a demo vido on Youtube

VSCodeDemo

  1. Run FlowDroidLSPDemo with this demo Android Project in Android Stuido:
  • Install LSP Support Plugin in Android Studio (Note: this plugin is buggy, read more about it here)
  • Use the following arguments for defining a language server java -jar PATH_TO_LOCAL_REPO\flowdroid-lsp-demo\target\flowdroid-lsp-demo-0.0.1-SNAPSHOT.jar -c PATH_TO_LOCAL_REPO\flowdroid-lsp-demo\config -a -p PATH_TO_ANDROID_PLATFORMS
  • Open DemoFlowDroidAndroid in Android Studio.
  • Open a Java file in this project, this will trigger the server to run FlowDroid. It takes a few seconds for FlowDroid to finish the analysis on this Android project.
  • Watch a demo video on Youtube

AndroidStudioDemo