Knarr is an extension to Phosphor that uses Phosphor's taint tracking engine to track path constraints. Those path constraints can then be used for concolic execution, as our project CONFETTI does.
Knarr requires Java 8, and builds with Maven.
Knarr was developed to be a runtime system component leveraged by a fuzzer. Its API design is lightly documented, but we make it available publicly as a stand-alone component in case others find it useful.
We suggest that you use Knarr by interacting with it through the edu.gmu.swe.knarr.runtime.Symbolicator
class, which provides methods to mark values as symbolic and retrieve the attached constraints.
We continue to maintain this codebase, and welcome contributions.
If you run into any problems, please feel free to reach out to us by email, or by opening an issue or pull request on GitHub.