summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Dafny: allow parallel assignments to assign to the same LHS if the RHS match.Gravatar Jason Koenig2012-06-13
|
* MergeGravatar Jason Koenig2012-06-13
|\
* | Dafny: liberalized equality to work when the types could possibly be the sameGravatar Jason Koenig2012-06-13
| | | | | | | | (i.e. a != b is allowed when a: array<int> and b: array<T>)
| * GPUVerify: the non-uniform loop invariant is not a candidate invariantGravatar Peter Collingbourne2012-06-12
|/ | | | Thanks to Ally for pointing this out.
* MergeGravatar Unknown2012-06-12
|\
* | Dafny: beefed up allocation axioms for boxes stored in fieldsGravatar Unknown2012-06-12
| |
| * deleted an unused classGravatar qadeer2012-06-12
| |
| * MergeGravatar qadeer2012-06-12
| |\ | |/ |/|
| * refactoring in SIGravatar qadeer2012-06-12
| |
* | Dafny: allow types to be qualified with the name of the module that declares ↵Gravatar Unknown2012-06-11
| | | | | | | | them (for now, this is supported only in type expressions and "new" allocations, not in places where the type name is used to qualify some other type member)
* | Dafny: fixed bug in type cloning, as part of refinement machineryGravatar Unknown2012-06-11
| |
* | Dafny: removed support for the old keyword "unlimited" (all functions are ↵Gravatar Unknown2012-06-11
| | | | | | | | limited)
* | GPUVerify: emit non-uniform loop candidate invariantGravatar Peter Collingbourne2012-06-11
| |
* | GPUVerify: emit "uniform loop" candidate invariantGravatar Peter Collingbourne2012-06-11
| |
* | GPUVerify: dualiser: preserve attributes of assert cmdGravatar Peter Collingbourne2012-06-11
| | | | | | | | This allows us to retain invariant tags.
* | GPUVerify: factor out CreateCandidateInvariant from AddCandidateInvariantGravatar Peter Collingbourne2012-06-11
| | | | | | | | | | This allows us to build candidate invariants in situations where we don't have a Region, such as the block predicator.
* | GPUVerify: initialise invariantGenerationCounter in the constructor, rather ↵Gravatar Peter Collingbourne2012-06-11
| | | | | | | | | | | | | | than in ComputeInvariant This allows us to emit invariants in places earlier than ComputeInvariant (such as the block predicator).
| * MergeGravatar qadeer2012-06-10
| |\ | |/ |/|
| * 1. changed new SI implemnetation so that it performs substitution for call sitesGravatar qadeer2012-06-10
| | | | | | | | 2. changed the block expression to be the negation of the disjunction of all outgoing edges
* | Dafny: added some test programsGravatar Rustan Leino2012-06-08
| |
* | Dafny/Boogie/BVD: made Dafny plug-in for BVD work againGravatar Rustan Leino2012-06-08
| |
* | GPUVerify: teach the array control flow analyser to handle unstructured programsGravatar Peter Collingbourne2012-06-08
| |
* | GPUVerify: if one input file is supplied, choose output file name more ↵Gravatar Peter Collingbourne2012-06-08
| | | | | | | | | | | | | | intelligently Specifically, if the input file's extension is not ".bpl", use its name (without extension) plus ".bpl" as the output file name.
* | GPUVerify: fix line endingsGravatar Peter Collingbourne2012-06-08
| |
* | Chalice build succeededGravatar CodeplexBot2012-06-08
|/
* MergeGravatar qadeer2012-06-07
|\
* | final (hopefully) fix to new SIGravatar qadeer2012-06-07
| |
| * Boogie build succeededGravatar CodeplexBot2012-06-08
|/
* testing a fix in SIGravatar qadeer2012-06-07
| | | | | also changing back the output path in BoogieDriver also disabling z3api for now since it does not build
* Merging againGravatar Ken McMillan2012-06-07
|\
* | GPUVerify: have StripThreadIdentifiers deal properly with identifiers ↵Gravatar Peter Collingbourne2012-06-07
| | | | | | | | containing a '$'
* | GPUVerify: block predicator: use the name '_P' for the procedure predicate ↵Gravatar Peter Collingbourne2012-06-07
| | | | | | | | for consistency with the structured predicator
* | GPUVerify: re-introduce the non-divergence check in unstructured modeGravatar Peter Collingbourne2012-06-07
| | | | | | | | This is OK now that we have assume stealing.
* | GPUVerify: emit assumes for backedgesGravatar Peter Collingbourne2012-06-07
| | | | | | | | | | | | Specifically, have the predicator emit backedge assumes with a :backedge attribute, and have the dualiser recognise such assumes and create an OR expression instead of an AND expression.
* | GPUVerify: refactor candidate invariant generators and analyses to use regionsGravatar Peter Collingbourne2012-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main goal of this change is to make the candidate invariant generation code and various analyses capable of handling both structured and unstructured programs. This is achieved using a high level abstraction of "regions" -- a region may either be a "root region" representing the entire implementation, or a natural loop within that implementation. Note that this is a subset to the term's meaning in the context of compilers, in which regions are also used for conditional control flow. Each region consists of a set of commands and a set of child regions. This change also has the side effect of eliminating a large amount of boilerplate code -- its net effect is to reduce the number of lines of code by 88.
* | Automatic merge.Gravatar stefanheule2012-06-07
|\ \
* | | Chalice: Remove IsGoodState as it is not needed and causes problems in ↵Gravatar stefanheule2012-06-07
| | | | | | | | | | | | certain cases.
| | * Trying to merge with recent changes, failing.Gravatar Ken McMillan2012-06-05
| | |\
| | | * Some changes to support expanded use of z3api.Gravatar Ken McMillan2012-06-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Should not affect function of other provers. There is an option added in Check.cs to allow creation of a Checker with a user-specified ProverContext. Also, some extension of z3api prover context to support conversion of Z3 formulas back to VCExpr. Finally, some experimental code, not enabled, to allow conversion of loops to recursion with "head recursion" rather than "tail recursion" (i.e., recursive call before loop body rather than after).
| * | | GPUVerify: recognise offsets in forms other than that produced by the old ↵Gravatar Peter Collingbourne2012-06-01
| | | | | | | | | | | | | | | | frontend
| * | | GPUVerify: have dualiser reuse blocksGravatar Peter Collingbourne2012-06-07
| | | |
| * | | GPUVerify: add newly created barrier procedures to resolution contextGravatar Peter Collingbourne2012-06-07
| | | |
| * | | MergeGravatar Jason Koenig2012-06-06
| |\ \ \
| * | | | Dafny: change labels to use a generic singly linked listGravatar Jason Koenig2012-06-06
| | | | |
| | * | | GPUVerify: fix bug which caused us to log accesses at the end of the block, ↵Gravatar Peter Collingbourne2012-06-06
| |/ / / | | | | | | | | | | | | rather than the appropriate place
| * | | Boogie: add /printCFG command line option, which prints each ↵Gravatar Peter Collingbourne2012-06-06
| | | | | | | | | | | | | | | | implementation's CFG in Graphviz format
| * | | Bug fix with mvInfo during VCGenGravatar akashlal2012-06-06
| | | |
| * | | update to SIGravatar qadeer2012-06-04
| |/ /
| * | MergeGravatar qadeer2012-06-04
| |\ \
| * | | moved class Macro to AbsyGravatar qadeer2012-06-04
| | | | | | | | | | | | | | | | | | | | cleanup up DefineMacro Changed SI to use macros for reach info