pate icon indicating copy to clipboard operation
pate copied to clipboard

Patches Assured up to Trace Equivalence

Results 100 pate issues
Sort by recently updated
recently updated
newest added

After we do an initial run of the verifier, we will have a differential summary that describes how the behavior of the program differs at an interesting program location. We...

enhancement
refine abstraction level

Currently, errors in code discovery can be seen by manual inspection of individual slices (which contain the recovered macaw IR). It would be much more useful to make these errors...

presentation

There is now a gas parameter to force termination, but there have been cases that tickle non-termination that we really should investigate. It should in principle terminate, so the fact...

bug
cond. equivalence

Currently, our precise memory model is quite slow. It's possible that one reason for this is that it needs to check quite a lot of sanity conditions on every read...

memory model

The new memory model is slow slow slow. We think one possible reason is its use of symbolic structs -- we always know concretely what field we want, so symbolic...

stale
memory model

When reading from memory, the new memory model currently reassembles bytes by shifting and masking. If we use bitvector concatenation instead, that will more clearly indicate our intent -- and...

stale
memory model

As the proof and counter-example types become more complicated and further abstracted from the types used by the verifier, the conversion between these types becomes nontrivial. This warrants a diagram...

documentation

It is getting a bit crowded. Separate modules for at least the command line options, the hint parsing code, and the terminal logger would help a great deal.

tech debt
stale

Some potential users of our tool would find it very useful to be able to consume the function-level pre- and post-domain information we are generating. We need to export this...

refine abstraction level
presentation

Currently loops that cannot be statically unrolled will result in the symbolic execution stage simply hanging indefinitely. To handle this, we need to explicitly slice loops out of the CFG...

stale