Skip to content

Experimental implementation of k-CFA and Pushdown k-CFA with optional Abstract Garbage Collection for LambdaJS and a subset of Scheme programming language

License

Notifications You must be signed in to change notification settings

ilyasergey/reachability

Repository files navigation

Project structure:
-------------------

benchmarks -- a set of Scheme programs to test the analysis runner

lib -- necessary libraries: Scala SDK, compiler and ScalaTest

src -- source files

test -- Test suites, run by ScalaTest utility via ant script

build.xml -- Ant script

[UPDATE]

As of November 2015, this project has moved to the BSD licence.

------------------------------------------------------------------------------------

Use following commands to compile and test the project via Ant (in the project root directory):

ant all           -- compiles the project from scratch, builds the JAR file and zipped sources

ant zip.project   -- Packs all source files into the ZIP archive artifacts/reachability.zip

ant compile       -- compile the project (incrementally)

ant run.tests     -- Run ScalaTest suite

ant jar           -- build an executable jar (Scala SDK included) and puts it into ./artifacts/

ant jar.no.scala  -- build an executable jar (without Scala SDK) and puts it into ./artifacts/

------------------------------------------------------------------------------------
You can also compile it via IntelliJ IDEA 15 (with the Scala 2.9 libraries from ./lib).
------------------------------------------------------------------------------------


How to run:

-- for a compiled project
scala -cp ./out/production/reachability org.ucombinator.cfa.RunCFA [options] fileName

-- for an executable jar with Scala SDK included
java -jar artifactsGenericCFA.jar org.ucombinator.cfa.RunCFA [options] fileName

-- for an executable jar with NO Scala SDK included
scala -cp artifacts/GenericCFANoScala.jar org.ucombinator.cfa.RunCFA [options] fileName

------------------------------------------------------------------------------------

Implementation insights:

Grep for the tag (REMARK) in the code for some non-obvious insights.

About

Experimental implementation of k-CFA and Pushdown k-CFA with optional Abstract Garbage Collection for LambdaJS and a subset of Scheme programming language

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published