- Run
./gradlew buildfrom the command line
Implement the following methods:
-
Method
check()in classCegarChecker: the CEGAR loop. You can implement this method usingAbstractor,RefinerandPredPrecision.join(). -
Method
buildAbstraction()in classAbstractor: construction of the abstract reachability graph. You can implement this method in terms of methodsclose()andexpand(). -
Method
expand(ArgNode)in classAbstractor: expanding a non-covered leaf node with all its abstract successors. -
Method
close(ArgNode)in classAbstractor: covering a non-covered leaf node with an already reached node if possible.
You can use ArgVisualizer to transform the reachability tree to an instance of Graph that can be serialized to Graphviz format using GraphvizWriter. The class CfaVisualizer serves the same purpose for CFAs.
To quickly viusalize a Graph, use GraphvizWriter.writeString() and render the result using http://www.webgraphviz.com/.