/polystat

Polyglot Static Analyzer for Object-Oriented Programs Based on EOLANG and 𝜑-Calculus

Primary LanguageTeXMIT LicenseMIT

EO principles respected here DevOps By Rultor.com We recommend IntelliJ IDEA

CI checks PDD status codecov

Javadoc License Maven Central Hits-of-Code Lines of code

This is an experimental polyglot static analyzer.

Read the White Paper first.

Download polystat-*-jar-with-dependencies.jar from Maven Central and then run (replace the asterisk with the latest version):

$ java -jar polystat-*-jar-with-dependencies.jar src temp

The src/test.eo file must contain the code in EOLANG with a single object named test. For example, try this simple program that has a division by zero bug:

[x] > test
  div. > @
    42
    x

The output of Polystat will show you which values of x may cause this program to crash. A new directory temp/ will be created automatically and will contain temporary files.

You can also play with it by editing the files in sandbox/ and then running ./try.sh.