The source code for the tool is available under the GPLv3 licence. The executable jar can be downloaded from here (the source code is available on the same site).
The traces used for the mine pump demo can be downloaded here. The demo, when executed, provides a Graphviz dot graph, along with associated WEKA rule outputs, and looks as follows:
java -jar EFSMTool-072013.jar -input minePump digraph Automaton { rankdir = LR; 0 [label="0",shape=doublecircle]; initial [shape=plaintext,label=""]; initial -> 0 0 -> 9 [label="critical"] 0 -> 1 [label="highwater"] 0 -> 13 [label="critical"] 1 [label="1",shape=doublecircle]; 1 -> 9 [label="critical"] 1 -> 2 [label="switch_pump_on"] 1 -> 7 [label="highwater"] 2 [label="2",shape=doublecircle]; 2 -> 3 [label="turn_on"] 3 [label="3",shape=doublecircle]; 3 -> 1 [label="not_critical"] 3 -> 4 [label="critical\n low_water"] 3 -> 3 [label="highwater"] 3 -> 12 [label="not_critical"] 4 [label="4",shape=doublecircle]; 4 -> 1 [label="not_critical"] 4 -> 12 [label="highwater"] 4 -> 3 [label="critical"] 4 -> 5 [label="switch_pump_off"] 5 [label="5",shape=doublecircle]; 5 -> 4 [label="turn_off"] 6 [label="1884",shape=doublecircle]; 6 -> 10 [label="switch_pump_off"] 7 [label="2494",shape=doublecircle]; 7 -> 8 [label="switch_pump_on"] 8 [label="2495",shape=doublecircle]; 8 -> 11 [label="turn_on"] 9 [label="1027",shape=doublecircle]; 9 -> 4 [label="not_critical"] 10 [label="2498",shape=doublecircle]; 10 -> 1 [label="turn_off"] 11 [label="2496",shape=doublecircle]; 11 -> 6 [label="low_water"] 12 [label="1549",shape=doublecircle]; 12 -> 16 [label="switch_pump_on"] 13 [label="113",shape=doublecircle]; 13 -> 3 [label="highwater"] 14 [label="1263",shape=doublecircle]; 14 -> 15 [label="critical\n low_water"] 14 -> 6 [label="low_water"] 14 -> 4 [label="critical"] 15 [label="1264",shape=doublecircle]; 15 -> 5 [label="switch_pump_off"] 16 [label="1704",shape=doublecircle]; 16 -> 14 [label="turn_on"] } =========================== MODEL FOR:critical =========================== J48 pruned tree ------------------ pump = true: switch_pump_off (77.0) pump = false | methane <= 607.2162 | | methane <= 602.640094: not_critical (32.0/3.0) | | methane > 602.640094 | | | water <= 31.699162: not_critical (4.0/2.0) | | | water > 31.699162: critical (13.0/6.0) | methane > 607.2162 | | water <= 74.875037: highwater (9.0/1.0) | | water > 74.875037: critical (27.0) Number of Leaves : 6 Size of the tree : 11 =========================== MODEL FOR:not_critical =========================== J48 pruned tree ------------------ : switch_pump_on (90.0/4.0) Number of Leaves : 1 Size of the tree : 1 =========================== MODEL FOR:highwater =========================== J48 pruned tree ------------------ methane <= 598.525559: switch_pump_on (226.0) methane > 598.525559: critical (10.0/1.0) Number of Leaves : 2 Size of the tree : 3 =========================== MODEL FOR:turn_off =========================== J48 pruned tree ------------------ methane <= 597.355089: highwater (213.0/2.0) methane > 597.355089: not_critical (79.0/28.0) Number of Leaves : 2 Size of the tree : 3 =========================== MODEL FOR:turn_on =========================== J48 pruned tree ------------------ methane <= 590.815697: low_water (201.0/2.0) methane > 590.815697 | water <= 35.75304: low_water (21.0/10.0) | water > 35.75304: critical (76.0/12.0) Number of Leaves : 3 Size of the tree : 5
To turn on the GUI, add "-visualise graphical" to the parameters.
Most of the other options (e.g. selection of algorithm, confidence score, etc.) can be specified at the command line. Not supplying any inputs will provide the following help message, which details the various parameters:
usage: Mint -algorithmJ48, M5, JRIP, NaiveBayes, AdditiveRegression, M5Rules, AdaBoost, or NNGE -confidence Confidence score that predictions by inferred data models should achieve -data use variable data for inference or not -help print this message -input trace file -k minimum length of overlapping outgoing paths for a merge -ktails Use k-tails criteria to merge states. -progress
For the Oracle JavaMail study, the original traces can be downloaded here, and the mutated traces can be downloaded here.
For the Basho Riak study, the original traces can be downloaded here, and the mutated traces can be downloaded here.
The full empirical results can be downloaded here.