/stava

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

Primary LanguageJava

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