Korat is a tool for constraint-based generation of structurally complex test inputs for Java programs.
Please see Korat for more information on the Korat application.
Korat 2015 includes the below enhancements to Korat:
The source code and other information can be found at Korat 2015
Hope this work provides a foundation that enables more developers and testers to benefit from automated test input generation offered by Korat.
There are multiple ways to download the Korat 2015 application:
In our GumBall target example, the folder structure is:
Current Folder --- korat2015.jar
|
--- lib --- Alloy4Viz.jar, etc.
|
--- gumball -- Gumball.java, Gumball.class
| Web Page | URL |
|---|---|
| Alloy4Viz | Download alloy-4.0 vizualizer (alloy.mit.edu) |
| Commons-Collections with Generics | Download collections-generic-4.01 (sourceforge.net) |
| Colt | Download colt-1.2.0 (dst.lbl.gov) |
| Jakarta Commons CLI library | Download commons-cli 1.0 |
| Concurrent library | Download concurrent-1.3.4 (gee.cs.oswego.edu) |
| Google Gson | Download gson-2.2.4 (google-gson.googlecode.com) |
| Javassist | Download javassist-3.3 (umn.dl.sourceforge.net) |
| Jung Algorithms | Download jung-algorithms-2.0.1 (jung.sourceforge.net) |
| Jung API | Download jung-api-2.0.1 (jung.sourceforge.net) |
| Jung Graph | Download jung-graph-impl-2.0.1 (jung.sourceforge.net) |
| Jung Visualization | Download jung-visualization-2.0.1 (jung.sourceforge.net) |
| JUnit | Download junit |
You can download Gumball.java, and compile the target gumball.GumBall class :
(Graphical user interface)
java -noverify -cp ./korat2015.jar:./lib/*:./gumball:. korat.Korat --gui
Enter following arguments in the Run screen:
--args = 3
--class = gumball.GumBall
(Command line interface)
java -noverify -cp ./korat2015.jar:./lib/*:./gumball:. korat.Korat -c gumball.GumBall -a 3
(Graphical user interface)
java -noverify -cp korat2015.jar;.\gumball;.\lib\*;. korat.Korat --gui
Enter following arguments in the Run screen:
--args = 3
--class = gumball.GumBall
(Command line interface)
java -noverify -cp korat2015.jar;.\gumball;.\lib\*;. korat.Korat -c gumball.GumBall -a 3
The example targets provided in the Korat repository can be explored as shown below.
(Graphical user interface)
java -cp korat2015.jar;.\lib*;. korat.Korat --gui
Enter following arguments in the Run screen:
--args = 3,3,3
--class = korat.examples.binarytree.BinaryTree
(Command line interface)
java -cp korat2015.jar;.\lib*;. korat.Korat --class korat.examples.binarytree.BinaryTree --args 3,3,3
Korat 2015 generates the explorations in the viz_json folder. These files can also be directly loaded and viewed in graph format.