ModelInference / texada

Efficient techniques for mining LTL formulae over linear input traces

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Website support for multiple mined property types

bestchai opened this issue · comments

Currently, the website supports only one mined property type while Texada supports several. Since Issue70 will likely change the format around substantially, it would be best to tackle this issue after issue70

[Issue created by carolemieux: 2015-08-27]
[Last updated on bitbucket: 2016-01-06]

[Comment created by bestchai: 2016-01-06]
Here is an example of a json output form Texada for mining multiple property types. It seems straight-forward to parse this on the client-side to support mining of multiple prop types.

[{"prop-type": {"str": "G(q -> G(p -> Fs))", "vars" : {"p" : [9], "q" : [2], "s" : [15]}, "tree": {"G" : [{"->" : [{"atomic-prop" : "q"}, {"G" : [{"->" : [{"atomic-prop" : "p"}, {"F" : [{"atomic-prop" : "s"}]}]}]}]}]}}, "prop-instances" : [{"vars" : {"p" : "isFull()", "q" : "StackAr(int)", "s" : "isEmpty()"}}, {"vars" : {"p" : "isFull()", "q" : "StackAr(int)", "s" : "top()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "StackAr(int)", "s" : "isEmpty()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "StackAr(int)", "s" : "isFull()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "StackAr(int)", "s" : "top()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "StackAr(int)", "s" : "topAndPop()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "StackAr(int)", "s" : "isEmpty()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "StackAr(int)", "s" : "isFull()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "StackAr(int)", "s" : "top()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "StackAr(int)", "s" : "topAndPop()"}}, {"vars" : {"p" : "top()", "q" : "StackAr(int)", "s" : "isEmpty()"}}, {"vars" : {"p" : "topAndPop()", "q" : "StackAr(int)", "s" : "isEmpty()"}}, {"vars" : {"p" : "topAndPop()", "q" : "StackAr(int)", "s" : "isFull()"}}, {"vars" : {"p" : "topAndPop()", "q" : "StackAr(int)", "s" : "top()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "isEmpty()", "s" : "isFull()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "isEmpty()", "s" : "makeEmpty()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "isEmpty()", "s" : "push(java.lang.Object)"}}, {"vars" : {"p" : "StackAr(int)", "q" : "isEmpty()", "s" : "top()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "isEmpty()", "s" : "topAndPop()"}}, {"vars" : {"p" : "isFull()", "q" : "isEmpty()", "s" : "top()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "isEmpty()", "s" : "isFull()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "isEmpty()", "s" : "top()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "isEmpty()", "s" : "topAndPop()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "isEmpty()", "s" : "isFull()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "isEmpty()", "s" : "top()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "isEmpty()", "s" : "topAndPop()"}}, {"vars" : {"p" : "topAndPop()", "q" : "isEmpty()", "s" : "isFull()"}}, {"vars" : {"p" : "topAndPop()", "q" : "isEmpty()", "s" : "top()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "isFull()", "s" : "isEmpty()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "isFull()", "s" : "makeEmpty()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "isFull()", "s" : "push(java.lang.Object)"}}, {"vars" : {"p" : "StackAr(int)", "q" : "isFull()", "s" : "top()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "isFull()", "s" : "topAndPop()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "isFull()", "s" : "isEmpty()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "isFull()", "s" : "top()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "isFull()", "s" : "topAndPop()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "isFull()", "s" : "isEmpty()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "isFull()", "s" : "top()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "isFull()", "s" : "topAndPop()"}}, {"vars" : {"p" : "top()", "q" : "isFull()", "s" : "isEmpty()"}}, {"vars" : {"p" : "topAndPop()", "q" : "isFull()", "s" : "isEmpty()"}}, {"vars" : {"p" : "topAndPop()", "q" : "isFull()", "s" : "top()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "makeEmpty()", "s" : "isEmpty()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "makeEmpty()", "s" : "isFull()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "makeEmpty()", "s" : "push(java.lang.Object)"}}, {"vars" : {"p" : "StackAr(int)", "q" : "makeEmpty()", "s" : "top()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "makeEmpty()", "s" : "topAndPop()"}}, {"vars" : {"p" : "isFull()", "q" : "makeEmpty()", "s" : "isEmpty()"}}, {"vars" : {"p" : "isFull()", "q" : "makeEmpty()", "s" : "top()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "makeEmpty()", "s" : "StackAr(int)"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "makeEmpty()", "s" : "isEmpty()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "makeEmpty()", "s" : "isFull()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "makeEmpty()", "s" : "top()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "makeEmpty()", "s" : "topAndPop()"}}, {"vars" : {"p" : "top()", "q" : "makeEmpty()", "s" : "isEmpty()"}}, {"vars" : {"p" : "topAndPop()", "q" : "makeEmpty()", "s" : "isEmpty()"}}, {"vars" : {"p" : "topAndPop()", "q" : "makeEmpty()", "s" : "isFull()"}}, {"vars" : {"p" : "topAndPop()", "q" : "makeEmpty()", "s" : "top()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "push(java.lang.Object)", "s" : "isEmpty()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "push(java.lang.Object)", "s" : "isFull()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "push(java.lang.Object)", "s" : "makeEmpty()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "push(java.lang.Object)", "s" : "top()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "push(java.lang.Object)", "s" : "topAndPop()"}}, {"vars" : {"p" : "isFull()", "q" : "push(java.lang.Object)", "s" : "isEmpty()"}}, {"vars" : {"p" : "isFull()", "q" : "push(java.lang.Object)", "s" : "top()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "push(java.lang.Object)", "s" : "isEmpty()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "push(java.lang.Object)", "s" : "isFull()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "push(java.lang.Object)", "s" : "top()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "push(java.lang.Object)", "s" : "topAndPop()"}}, {"vars" : {"p" : "top()", "q" : "push(java.lang.Object)", "s" : "isEmpty()"}}, {"vars" : {"p" : "topAndPop()", "q" : "push(java.lang.Object)", "s" : "isEmpty()"}}, {"vars" : {"p" : "topAndPop()", "q" : "push(java.lang.Object)", "s" : "isFull()"}}, {"vars" : {"p" : "topAndPop()", "q" : "push(java.lang.Object)", "s" : "top()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "top()", "s" : "isEmpty()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "top()", "s" : "isFull()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "top()", "s" : "makeEmpty()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "top()", "s" : "push(java.lang.Object)"}}, {"vars" : {"p" : "StackAr(int)", "q" : "top()", "s" : "topAndPop()"}}, {"vars" : {"p" : "isFull()", "q" : "top()", "s" : "isEmpty()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "top()", "s" : "isEmpty()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "top()", "s" : "isFull()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "top()", "s" : "topAndPop()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "top()", "s" : "isEmpty()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "top()", "s" : "isFull()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "top()", "s" : "topAndPop()"}}, {"vars" : {"p" : "topAndPop()", "q" : "top()", "s" : "isEmpty()"}}, {"vars" : {"p" : "topAndPop()", "q" : "top()", "s" : "isFull()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "topAndPop()", "s" : "isEmpty()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "topAndPop()", "s" : "isFull()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "topAndPop()", "s" : "makeEmpty()"}}, {"vars" : {"p" : "StackAr(int)", "q" : "topAndPop()", "s" : "push(java.lang.Object)"}}, {"vars" : {"p" : "StackAr(int)", "q" : "topAndPop()", "s" : "top()"}}, {"vars" : {"p" : "isFull()", "q" : "topAndPop()", "s" : "isEmpty()"}}, {"vars" : {"p" : "isFull()", "q" : "topAndPop()", "s" : "top()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "topAndPop()", "s" : "isEmpty()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "topAndPop()", "s" : "isFull()"}}, {"vars" : {"p" : "makeEmpty()", "q" : "topAndPop()", "s" : "top()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "topAndPop()", "s" : "isEmpty()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "topAndPop()", "s" : "isFull()"}}, {"vars" : {"p" : "push(java.lang.Object)", "q" : "topAndPop()", "s" : "top()"}}, {"vars" : {"p" : "top()", "q" : "topAndPop()", "s" : "isEmpty()"}}]}, {"prop-type": {"str": "Fr -> (p U r)", "vars" : {"p" : [7], "r" : [1, 11]}, "tree": {"->" : [{"F" : [{"atomic-prop" : "r"}]}, {"U" : [{"atomic-prop" : "p"}, {"atomic-prop" : "r"}]}]}}, "prop-instances" : [{"vars" : {"p" : "StackAr(int)", "r" : "isFull()"}}, {"vars" : {"p" : "isEmpty()", "r" : "StackAr(int)"}}, {"vars" : {"p" : "isFull()", "r" : "StackAr(int)"}}, {"vars" : {"p" : "makeEmpty()", "r" : "StackAr(int)"}}, {"vars" : {"p" : "push(java.lang.Object)", "r" : "StackAr(int)"}}, {"vars" : {"p" : "top()", "r" : "StackAr(int)"}}, {"vars" : {"p" : "topAndPop()", "r" : "StackAr(int)"}}]}]