GitHunt
SO

Stava is a static program analysis for identifying stack allocable objects of code written in Java 8

Stava

Stava is a static program analysis for identifying stack allocable objects of code written in Java. With the results generated, a JVM can be instructed to allocate those objects on the stack instead of the heap. Analysis is performed on java bytecode and Stava will only generate partial results if library code is unavailable. This project is based on the PYE framework.

Getting Started

Installation

This project only requires a working installation of Java 8. Clone the repo and you're good to go! Use scripts from the scripts package and set them up according to your installation.

Analysing Code

Sample scripts are provided in the scripts directory. There are 2 types of usecases for stava.

  • Benchmark Code: This code is expected to be precompiled. These can be benchmarks like DaCapo.
  • Application Code: This is code written by user that has to be compiled.
    More instructions here.

Built With

  • Soot- a Java optimization framework which enables this project to look into class files and much more.

Authors

Languages

Java95.7%Shell4.1%C++0.2%

Contributors

Created July 17, 2022
Updated March 4, 2023
Solai-Adithya/stava | GitHunt