- 20 Apr, 2021 40 commits
-
-
Etienne Renault authored
* tools/recursion.go: Here.
-
Etienne Renault authored
* benchs/run-ltl-bb.sh, benchs/run-ltl.sh: Here.
-
Etienne Renault authored
Avoid systematic computation of the whole State Space that can be too huge. * benchs/build.sh: Here.
-
Etienne Renault authored
* main.go: Here.
-
A new log directory is now generated when bench is in progress, containing all log files, named with this pattern, `formula.<FORMULA NB>.[bb.].log`.
-
To preserve a nice workflow and tracking more efficiently when Makefile can possibly fail. The current workflow is LTL files, Reach files, LTL files blackboxed, Reach files blackboxed.
-
-
-
-
-
-
* benchs/Makefile: Here.
-
-
By invoking the make command in benchs, you can now generate a benchmark for basic LTL and REACH RERS files. * benchs/Makefile, benchs/run-ltl.sh, benchs/run-reach.sh: Here.
-
Multidimensional arrays are not treated yet, so a panic is triggered if go2pins encounters one. * transform/checktype.go : Here.
-
To avoid collision since we modify IndexExpr and nested IndexExpr, we now use a map to check if the element has already been modified. * transform/double_brackets.go: Here.
-
Blackbox can now handle global array. * main.go : Here.
-
Double brackets transform can now handle IndexExpr using IndexExpr recusrively in order to use an array as an index. * transform/double_brackets.go : Here.
-
If blackbox is set to auto, the blackbox functions are defined with the formula. * main.go, tools/formulae.go : Here.
-
Go2Pins now accepts a second argument, a formula to run directly modelchecking on it. * main.go : Here.
-
By calling go2pins with rers, it will automatically detect the RERS input values. * benchs/run-blackbox/test.sh, main.go, tools/rers.go : Here.
-
-
A little script to compare the formulae auto detecting blackbox efficiency, it output the result for both blackbox and non blackbox file. * benchs/run-blackbox-test.sh : Here.
-
In order to make easier the use of blackbox, for a given file, if we pass a formulae file to go2pins, it will automatically set the functions to be blackboxed.
-
In order to avoid conflict with global variables defined after assigning to it, LocalVariableAssignments has been corrected. * main.go, transform/localvariableassignments.go : Here.
-
results was created according to the size of the caller and not the results function. It is now corrected. * transform/cfg/linkresults.go : Here.
-
* tests/innercall.go, tests/expected, transform/innercall.go : Here.
-
* tests/expected, tests/multiplecallassign.go, tests/passes/innercall.go : Here.
-
Handling multiple func call as assignments by creating a tmp variables. * main.go, transform/innercall.go : Here.
-
* main.go : Here.
-
* transform/arithmeticcall.go : Here.
-
Using a function call as a function args was failing before. * transform/cfg/linkresults.go : Here.
-
* main.go, tools/blackbox.go, transform/global.go, transform/postglobal.go : Here.
-
The blackbox package now import structs only if the blackboxed contains global variables, it was importing it everytime before. * main.go, transform/blackbox.go : Here.
-
it appeared that not blackbox function call were modified anyway. It is now fixed. * tools/blackbox.go : Here.
-
Blackboxed functions are now able to handle global variables, by using G2PState as a reference. * main.go, tools/blackbox.go, transform/checktype.go, transform/global.go, transform/globaltostate.go, transform/localvariableassignments.go, transform/postglobal.go : Here.
-
For future global variable access via `Blackbox`, all type generated by Go2Pins are now stored in a dedicated package `structs`. All convenient modifications has been done to let Go2Pins in a valid state. * boilerplate/Makefile, boilerplate/main.go, boilerplate/structs/structs.go, decl/decl.go, main.go, tools/blackbox.go, transform/meta.go : Here.
-
Getter and Setter were added twice. * transform/global.go : Here.
-
Global var can be placed in all the file and not necessarily before its actual using. So it is now detected before applying the transform. * main.go, transform/global.go, transform/preglobal.go : Here.
-
Currently all tests are passing, except `after.go`, we can create global variable everywhere in the file, patch will come soon. * tests/global/ : Here.
-