Giter Site home page Giter Site logo

svfa-scala's Introduction

SVFA (Sparse Value Flow Analysis) implementation based on Soot

This is a scala implementation of a framework that builds a sparse-value flow graph using Soot.

Status

  • experimental

Usage

  • clone this repository or download an stable release
  • you will need to add a github token to your ~/.gitconfig.
    [github]
            token = TOKEN
    
  • build this project using sbt (sbt compile test)
  • publish the artifact as a JAR file in your m2 repository (sbt publish)
  • create a dependency to the svfa-scala artifact in your maven project.
<dependency>	
  <groupId>br.unb.cic</groupId>
  <artifactId>svfa-scala_2.12</artifactId>
  <version>0.0.2-SNAPSHOT</version>
 </dependency>
  • implement a class that extends the JSVFA class (see some examples in the scala tests). you must provide implementations to the following methods
    • getEntryPoints() to set up the "main" methods. This implementation must return a list of Soot methods
    • sootClassPath() to set up the soot classpath. This implementation must return a string
    • analyze(unit) to identify the type of a node (source, sink, simple node) in the graph; given a statement (soot unit)

Dependencies

This project use some of the FlowDroid test cases. The FlowDroid test cases in src/test/java/securibench are under LGPL-2.1 license.

svfa-scala's People

Contributors

rbonifacio avatar joao-victor-silva avatar lorrainesilva avatar barbosamaatheus avatar pauloborba avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.