Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Add an option to model exceptional control flow or not. When it is false: | Unknown | 2012-07-31 |
| | | | | | | method calls are not followed by a test to see if an exception was thrown "throw e" is translated as "assume false" "try S catch C finally F" is translated as "S; F" | ||
* | Add options to control the emission of free ensures for | Unknown | 2012-04-16 |
| | | | | | | heap monotonicity (and allocatedness of references returned from a method) as well as the assert/assume checks that are generated for every object dereference. | ||
* | Removed expression simplifier (actually just commented | Unknown | 2012-04-15 |
| | | | | | | | it out for now) and used a simpler scheme for always assigning compound bound expressions to a local. Added the ability to assert/assume that an object is non-null before dereferencing it. | ||
* | Fix a lot of the translation of "op=" expressions | Unknown | 2012-04-09 |
| | | | | (like += or *=). | ||
* | Changed the BCT solution so it uses the CodePlex version of CCI (instead | Mike Barnett | 2012-03-30 |
| | | | | | | of the internal version). Fixed the expression traverser to (begin the) support target expressions as operands of binary expressions. (e.g., x++ or x += 2) | ||
* | Fix call to struct copy ctor. | Mike Barnett | 2012-01-10 |
| | |||
* | Fixed struct copy constructor implementation. | Mike Barnett | 2012-01-10 |
| | |||
* | Change the copy constructor for struct types so that it returns the copy | Mike Barnett | 2012-01-09 |
| | | | | | of the struct value. This way it can do an allocation within the copy ctor (if that is the design choice for structs, which it currently is). | ||
* | Copy structs that are passed by value as method call arguments. | Mike Barnett | 2012-01-04 |
| | | | | Define body for default struct ctors. | ||
* | For now, just ignore "address of" nodes and translate the expression of which | Mike Barnett | 2012-01-03 |
| | | | | the address is being taken. | ||
* | Refactored translator so it can be called programmatically and return the | Mike Barnett | 2011-11-21 |
| | | | | translated program in memory without writing it to disk. | ||
* | BCT: Initialize Boogie's command-line options object correctly before using | Mike Barnett | 2011-11-21 |
| | | | | Boogie. | ||
* | Translate AddressOf expressions correctly. | Mike Barnett | 2011-11-16 |
| | | | | Fixes for problems when translating generic type parameters. | ||
* | Many, many bug fixes related to generics and some other random problems. | Mike Barnett | 2011-11-10 |
| | |||
* | Major changes to the translator traversers because they now are based on the | Mike Barnett | 2011-10-31 |
| | | | | | | | | new traversers. (The old ones have been marked as obsolete.) All types are now encoded as "datatypes" in Boogie. So non-generic types are nullary functions and generic types just have at least one type argument. Lots of other fixes: string encoding of names is now done by negating Boogie's regular expression for identifiers, etc. | ||
* | Fixed two bugs related to structs: now a struct that is declared without an | Mike Barnett | 2011-09-01 |
| | | | | | | | | | | initial value is getting allocated. Also, deferring ctor calls within a struct ctor do *not* result in an attempt to allocate a new struct and assign it to "this". Restart the temporary variable counter on entry to each method. (This makes the regressions less noisy because a change in the number of temporaries created for one method will not change the names of the temporaries in other methods.) | ||
* | Made the split fields heap agree with the naming convention used for fields that | Mike Barnett | 2011-08-16 |
| | | | | | the general heap uses. Updated regressions. | ||
* | Fixed problem where events in stubs were generating duplicate declarations. | Mike Barnett | 2011-08-11 |
| | |||
* | (BCT) BREAKING CHANGE | t-espave | 2011-08-11 |
| | | | | BCT now links to CCI in CodeBox, get the CodeBox tree into C:\CCICodeBox | ||
* | (phone bct) nav graph building (mostly) automated | t-espave | 2011-08-05 |
| | |||
* | Added new option /captureState (/c) for generating a capture state assumption | Mike Barnett | 2011-08-04 |
| | | | | after each statement. | ||
* | Changed name mangling (again) to avoid name clashes. | Mike Barnett | 2011-08-04 |
| | | | | If a method's parameters don't have names, give them names! | ||
* | Increase the name mangling to avoid name clashes in the Boogie program. In IL, | Mike Barnett | 2011-08-03 |
| | | | | members of a type can have the same name. | ||
* | (phone bct) default URI checks inlined | t-espave | 2011-08-02 |
| | | | | inlining statistics | ||
* | Fix in the assertion injector for putting the output on top of the input | Mike Barnett | 2011-08-01 |
| | | | | | | assembly. Fix in the Sink so that the consolidated index of a type parameter is computed correctly. | ||
* | Merge | Mike Barnett | 2011-07-27 |
|\ | |||
* | | Implemented a whitelist/blacklist so translator can ignore certain parts of an | Mike Barnett | 2011-07-27 |
| | | | | | | | | assembly. | ||
| * | fixed right/left shift functions decl | t-espave | 2011-07-27 |
|/ | |||
* | Updated regressions. | Mike Barnett | 2011-07-27 |
| | |||
* | adding checks and code injection for phone feedback checking | t-espave | 2011-07-25 |
| | |||
* | Added subtyping axiomatization. | Mike Barnett | 2011-07-20 |
| | |||
* | Add a translation for switch statements. | Mike Barnett | 2011-07-14 |
| | | | | Updated regression output due to Shaz's changes for exception handling. | ||
* | phone control exploration for BCT, not integrated yet | Unknown | 2011-07-07 |
| | | | | should be made into a plugin sometime | ||
* | Updated regression output. | Mike Barnett | 2011-07-06 |
| | |||
* | Updated regression output. | Mike Barnett | 2011-07-06 |
| | |||
* | Fixed/improved the handling of conditional expressions. | Mike Barnett | 2011-05-31 |
| | |||
* | Added bitwise operations. | Mike Barnett | 2011-05-31 |
| | |||
* | Lots of small bug fixes: conversions, overloaded operations on real numbers. | Mike Barnett | 2011-05-31 |
| | |||
* | Handle more conversions. | Mike Barnett | 2011-05-29 |
| | |||
* | Fixes for a bunch of different bugs. Translate default value for doubles, | Mike Barnett | 2011-05-29 |
| | | | | | handle structs that call the default ctor on "this", translate conversion from object to double, etc. | ||
* | Removed the method DefaultValue from the sink: if a default value of a type | Mike Barnett | 2011-05-29 |
| | | | | | is desired, then the CCI nodes must be created and an expression/statement traverser used to translate it. | ||
* | Translate assignments to parameters that are of a struct type correctly. Note | Mike Barnett | 2011-05-28 |
| | | | | | | that this means all methods with such parameters (where the parameter is passed by value) must have free preconditions expressing that the parameters are disjoint (since we are representing structs as Ref). | ||
* | Translate assignments of structs as a call to a (default) copy constructor | Mike Barnett | 2011-05-27 |
| | | | | that does the field-by-field copy. | ||
* | Beginning of representing structs as values on the heap, but without object | Mike Barnett | 2011-05-26 |
| | | | | | equality. Now each struct type has a default constructor that sets all of its fields to zero-equivalent values. | ||
* | Created an API so that a MetadataTraverser is used to translate a set of | Mike Barnett | 2011-05-21 |
| | | | | | | | | | assemblies. This enables a translator to do whole-program analyses, such as recording the subtype relationship across all of the input. (Still need to move the delegate translation into this method.) Fixed the existing whole-program translator so it uses the base class functionality for translating the arguments to a method call. Updated the regressions. | ||
* | Unify translation of arguments so the same code is used for IMethodCall and | Mike Barnett | 2011-05-19 |
| | | | | ICreateObjectInstance. | ||
* | Add extern declarations to procedures. | Mike Barnett | 2011-05-16 |
| | | | | | | Normalize method bodies so anonymous delegates are gone. Some attempts at simplifying. New regression output. | ||
* | Trying to fix the bound expression simplifier. | Mike Barnett | 2011-05-12 |
| | |||
* | Cleanup of new LHS simplification and replaced the golden output with the | Mike Barnett | 2011-05-06 |
| | | | | new regression output. | ||
* | The decompilation is not guaranteed to get rid of all push statements and pop | Mike Barnett | 2011-04-29 |
| | | | | | | expressions. So added support for them. Simplified the API in the sink for creating a local. Not it takes a CCI type so clients do not have to first translate the CCI type to the Boogie type. |