Skip to content

VincenzoArceri/rust-lisa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

253 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust Java Gradle GitHub Workflow Status (branch) GitHub last commit

RustLiSA

An abstract interpretation-based static analyzer for Rust built upon LiSA (Library for Static Analysis)

🛠 Build

RustLiSA comes as a Gradle 6.6 project.

Development is done in Eclipse. You need to:

  • install the Gradle IDE Pack plugin through the Eclipse Marketplace; from the eclipse menu bar:
    • Help
    • Eclipse Marketplace...
    • Search for Gradle IDE Pack 3.8
    • Install Gradle IDE Pack 3.8
  • import the project into the eclipse workspace as a Gradle project.
  • run the ./rust-lisa/gradlew build

Run the project with Java 11. Note: in order to have gradle run you must run the project necessary with Java 11 and no greater version.

⚙️ Run

To run the project by using Eclipse you can use Run as Java application in Eclipse and passing a path to a Rust file as first argument.

The result will be put under the output folder, which will have all the enabled reports and a .dot file with the LiSA-CFG

You can run other gradle task with

./rust-lisa/gradlew -q :tasks --all

🎯 Contribute

Before every commit it is necessary to open a new branch with

git checkout -b <branch-name>

then you can start committing on that branch. Once you have finished, you first need to run

./rust-lisa/gradlew build
./rust-lisa/gradlew spotlessApply

and commit every change made to the files.

After that, you can open a Pull Request, marking the reviewers and adding tags about the PR, also with a short description.

🚀 Next steps

  • complete compilation from Rust constructs to LiSA control-flow graph nodes
  • complete semantics methods of Rust control-flow graph nodes
  • integrate APRON for numerical analyses

Releases

No releases published

Packages

 
 
 

Contributors