| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| | |
information (with varying verbosity). By default, the overall verification time is output.
|
| |
| |
| |
| | |
refinements (things like multiple labels are still not thought through very well)
|
| | |
|
| |
| |
| |
| | |
without also printing out the verification times
|
| |
| |
| |
| | |
user-supplied specifications (searching for sets of matching function terms, and taking their "limited" forms).
|
|\ \ |
|
| | | |
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | | |
overrides of virtual methods.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
tail-recursive methods
|
| | | |
| | | |
| | | |
| | | |
| | | | |
up creating code that the Boogie parser gets a stack overflow while trying to
parse!
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
in the code model) into the sink so that the different statement traversers
used for things like if-then-else statements share the same stack.
Fixed a problem in the dispatch table for whole program virtual dispatch so it
works for generic methods.
Found input that either crashed the translator or caused it to produce bad
Boogie: "fixed" it by having the translator thrown an exception so the method
containing the bad code is skipped.
|
| | |
| | |
| | |
| | |
| | |
| | | |
the function applications with at least one variable in common with a given list. This is a pre-cursor to writing a trigger-generating routine for quantifiers.
Also corrected some copy-paste comments in Translator.scala
|
| | |
| | |
| | |
| | |
| | |
| | | |
At the same time, exhaling an unfolding expression now generates corresponding secondary permission information (this can in principle be useful; with fractional permissions it need not be the case that just because we exhale (part of) a predicate, we don't have any left.
Also added a test case to test the new non-aliasing knowledge the "inside" encoding provides in various situations.
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | | |
optional "tailrecursion" attribute). Also, let the cloner also clone attributes.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
statements. So far this does not include exhaling an unfolding expression, or translation of an unfolding expression in e.g., program code (which looks more challenging). Note that secondary permissions do not appear to be generated in these cases either, which may be problematic for certain pathological examples.
|
| | | |
| | | |
| | | |
| | | | |
statements (previously only fold was implemented), and to the translation of unfolding expressions in some cases.
|
| | | |
| | | |
| | | |
| | | | |
occur inside which (for extra non-aliasing information)
|
|\| | | |
|
| | | | |
|
| | | |\ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
axiomatised without a receiver. However, calls of such functions still syntactically require a receiver for now (which is ignored).
|
| | | |/ |
|
| | | |
| | | |
| | | |
| | | | |
functions (so that the various tricks get applied uniformly, even when Chalice thinks a function is not recursive).
|
| | | |
| | | |
| | | |
| | | | |
2648 (ff8bdaa099cd) Chalice: Allow unfolding expressions in predicates (this fixes workitem 10223).
|
| | | |
| | | |
| | | |
| | | | |
2891 (c73229bf100d) Experimental version with weaker triggering for function definition axiom (should trigger whenever both the function application has occurred somewhere in the code, and a corresponding predicate has been either folded or unfolded).
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
previously done in changeset 2678 (ca2a67918aa7)
|
| | | |
| | | |
| | | |
| | | | |
2669 (bc94e6c85481) Chalice: Remove IsGoodState as it is not needed and causes problems in certain cases.
|
| | | |
| | | |
| | | |
| | | | |
2568 (f1a12d812207) : Chalice: refactor ExhaleHelper to use a local lambda expression for easier parameter management.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
an extension--clients don't need to be reverified if the body is new, only an extensions to a previous definition need to be
|
| | | |
| | | |
| | | |
| | | | |
as an identifier definition)
|
| | | | |
|
| |/ /
|/| | |
|
| |\ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Improved loop invariant inference so that procedure formal parameters are
treated as constants. (This involved fixing a bug where a Formal was being
dualised to a LocalVariable.)
Fixed problem in GPUVerifyBoogieDriver where source location information was
being looked for via a file name, rather than a full path.
Cleaned up some code in GPUVerifyBoogieDriver.
|
| | |
| | |
| | |
| | | |
result the function itself
|
| | | |
|
|/ / |
|
| | |
|
| |
| |
| |
| |
| | |
Refactored Make...Variable() and FindOrCreate...Variable() functions to take
a variable name as a parameter rather than the variable itself.
|