summaryrefslogtreecommitdiff
path: root/Source/Provers
Commit message (Collapse)AuthorAge
* Normalise line endings using a .gitattributes file. UnfortunatelyGravatar Dan Liew2015-06-28
| | | | | | this required that this commit globally modify most files. If you want to use git blame to see the real author of a line use the ``-w`` flag so that whitespace changes are ignored.
* removed a stray Console.WriteLine that Ken had earlier checked in byGravatar qadeer2015-06-25
| | | | mistake.
* Merge branch 'master' of https://github.com/boogie-org/boogieGravatar akashlal2015-06-20
|\
* | Fix for reading fixpoint back into boogie exprsGravatar akashlal2015-06-20
| |
| * adding z3name optionGravatar Ken McMillan2015-06-15
|/
* Fix minor issue with diagnosing timeouts.Gravatar Valentin Wüstholz2015-06-12
|
* Merge branch 'master' of https://github.com/boogie-org/boogieGravatar Ken McMillan2015-06-11
|\
| * fixed crashGravatar qadeer2015-06-10
| |
* | various changes for duality from dead codeplex repoGravatar U-REDMOND\kenmcmil2015-06-09
| |
| * Stop truncating the prover logsGravatar Clément Pit--Claudel2015-06-09
|/ | | | | | | | | | | | | | | | | | | | | | | | As it stands, Boogie abruptly aborts the prover by calling Kill() on the associated process after receiving responses to all of its queries. In most cases this is fine, but in general this is pretty bad: it yields to all sorts of output corruption when user-supplied options require z3 to write output to an auxiliary file (say, using /z3opt:TRACE=true). This explains why VCC's Axiom Profiler often complains about a missing [eof] after running Boogie with /z3opt:TRACE=true. This patch fixes it by only falling back to Kill if the process seems to have become unresponsive. That is, it starts by cleanly closing the process input, which signals the end of the interactive session. It then waits for a clean exit for 2s, and only after that does it resort to calling Kill(). I've striven for minimal modifications to the logic, so the patch still universally swallows errors that might occur while closing the underlying stream, and still calls Kill() (I wouldn't be against Boogie just hanging if z3 hangs too). On my tests, z3 exits cleanly pretty much instantly after input is closed anyway, so I don't expect the timeout to fire often (which would be one more reason to actually remove that timeout, and condition Boogie's exit on that of z3 IMO).
* Improve support for diagnosing timeouts.Gravatar Valentin Wüstholz2015-06-08
|
* Improve support for diagnosing timeouts.Gravatar Valentin Wüstholz2015-06-05
|
* Improve heuristics for diagnosing timeouts.Gravatar Valentin Wüstholz2015-05-31
|
* Improve support for diagnosing timeouts.Gravatar Valentin Wüstholz2015-05-22
|
* Minor changesGravatar Valentin Wüstholz2015-05-20
|
* Minor refactoringGravatar Valentin Wüstholz2015-05-20
|
* Improve support for diagnosing timeouts.Gravatar Valentin Wüstholz2015-05-20
|
* Improve support for diagnosing timeouts.Gravatar Valentin Wüstholz2015-05-19
|
* Add some experimental support for diagnosing timeouts.Gravatar Valentin Wüstholz2015-05-18
|
* Fix for printFixedPoint when dealing with functionsGravatar Akash Lal2015-05-13
|
* Try to fix the emission of invalid SMT-LIBv2 queries when Boogie has aGravatar Dan Liew2015-04-26
| | | | | variable that begins with a ``.``. This was't an issue for Z3 which ignores this but CVC4 is stricter and will emit an error
* VC gen for security propertiesGravatar akashlal2015-04-05
|
* If using -proverLog: make sure we flush after writing every lineGravatar Dan Liew2015-03-10
| | | | | | | | | otherwise if either of the following happens * if the solver hangs and we do CTRL+C * if Boogie crashes then some lines will be missing from the log.
* Work around bug in Z3 4.3.2 and newer (https://z3.codeplex.com/workitem/188)Gravatar Dan Liew2015-03-10
| | | | | | where setting produce-unsat-cores to true has no effect unless the option is set last. This makes the Test/houdini/testUnsatCore.bpl test pass under Linux using Z3 4.3.2
* Parse Bv valuesGravatar akashlal2015-03-02
|
* Fix using "mkbv" as a variable name in a boogie program. This wasGravatar Dan Liew2015-02-27
| | | | | taken from ``bv_decl_plugin::get_op_names(...)`` in ``src/ast/bv_decl_plugin.cpp`` in the Z3 4.3.2 source code.
* Fix using reserved Z3 keywords for real/int arithmetic operators. These are ↵Gravatar Dan Liew2015-02-27
| | | | | | | taken from `` arith_decl_plugin::get_op_names(...)`` from ``src/ast/arith_decl_plugin.cpp`` in the Z3 4.3.2 source code.
* Fix using reserved Z3 keywords for float operators. These are takenGravatar Dan Liew2015-02-27
| | | | | from ``float_decl_plugin::get_op_names(..)`` in ``src/ast/float_decl_plugin.cpp`` from the Z3 4.3.2 source code.
* Fix bug where some reserved Z3 keywords were not sanitizedGravatar Dan Liew2015-02-18
| | | | when generating the VC.
* more work on reducing call stack consumptionGravatar qadeer2014-12-18
|
* patched two occurrences of StackOverflowException on benchmarks from IronCladGravatar qadeer2014-12-16
|
* Merge some FixpointVC changes that got left behindGravatar Ken McMillan2014-12-08
|\
* | Patch by Jeroen KetemaGravatar Dan Liew2014-12-01
| | | | | | | | | | | | | | | | | | | | Fix some of the interfacing with Z3 4.3.2 in SMTLib. In particular: * It makes the useSmtOutputFormat usable * It fixes parsing of bit vectors that occur in the models returned by Z3 Similar stuff might be broken in the other interfaces to Z3, but it shouldn’t be more broken than it already was.
* | Patch by Jeroen KetemaGravatar Dan Liew2014-11-17
| | | | | | | | Fix interfacing with CVC4 1.5
* | re-enabling -useUnsatCoreForContractInferGravatar shuvendu2014-11-07
| | | | | | | | An example houdini\testUnsatCore.bpl to test out the unsatCore (Currently seems to be not working)
* | Minor change to make some regression tests work with Z3 4.3.2Gravatar wuestholz2014-11-05
| |
* | Logging for SMTLib proverGravatar akashlal2014-11-05
| |
| * Merge FixpointVC changes with mainlineGravatar Ken McMillan2014-10-08
|/|
| * Added "extra recursion bound" to FixedpointVC to support Corral.Gravatar Ken McMillan2014-10-08
| |
* | Some fixes to ITPGravatar akashlal2014-10-04
| |
* | minor fixes to interpolating TPGravatar akashlal2014-10-03
| |
* | Added a flag to initialize the interpolating TPGravatar akashlal2014-09-29
| |
* | Merge.Gravatar Dan Liew2014-09-24
|\ \
* | | Remove dead method argumentGravatar Dan Liew2014-09-24
| | | | | | | | | | | | Patch by Jeroen Ketema
* | | Let the SMT lib convert models to Z3-like modelsGravatar Dan Liew2014-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Model parser for SMT models is broken beyond repair and this by-passes this. The code could be moved to the model parser, but that's a refactoring for another day. Also, the existing version already had multiple reparses going on and this at least removes one of those. Patch by Jeroen Ketema.
| * | (Subhajit) Added an interface for InterpolatingTheoremProverGravatar akashlal2014-09-24
| | |
| * | Simple VC generation for SIGravatar akashlal2014-09-24
|/ /
* / Patch by Jeroen Ketema.Gravatar Dan Liew2014-09-19
|/ | | | | | Only set produce-unsat-cores in the case /explainHoudini is passed. This allows contract inference to be used with solvers that do no support unsat cores, as long as no explanation of the Houdini run is required.
* Fix nasty bug introduced by commit 61a94f409975.Gravatar Dan Liew2014-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were many calls in the code to ``` new TokenTextWriter("<buffer>", buffer, false) ``` Prior to 61a94f409975 this was a call to the following constructor ``` TokenTextWriter(string filename, TextWriter writer, bool setTokens) ``` After that commit these then became calls to ``` TokenTextWriter(string filename, TextWriter writer, bool pretty) ``` An example of where this would cause issues was if ToString() was called on an AbsyCmd then the its token would be modified because the setTokens parameter was effectively set to True when the original intention was for it to be set to false! To fix this I've * Removed the default parameter value for pretty and fixed all uses so that we pass false where it was implicitly being set before * Where the intention was to set setTokens to false this has been fixed so it is actually set to false! Unfortunately I couldn't find a way of observing this bug from the Boogie executable so I couldn't create a test case. I could only observe it when I was using Boogie's APIs.
* OnModel now carries the result of the prover callGravatar akashlal2014-06-28
|