History log of /seL4-l4v-10.1.1/graph-refine/problem.py
Revision Date Author Comments
# 879c1bf6 31-Jul-2018 Thomas Sewell <Thomas.Sewell@data61.csiro.au>

Document 'complex loop' aborts unconditionally.


# 8166830b 27-Jul-2018 Thomas Sewell <Thomas.Sewell@data61.csiro.au>

Handle missing symbols as problem aborts.

Previously missing symbols resulted in a global failure, now only
the relevant problems will fail. This better suits a regression-test
approach which hopes to converge on correctness gradually.


# 8ade0aef 24-Jan-2017 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Some more inner loop handling sanity.

This gets us past the 'check' phase of problem setup for functions
with inner loops.


# 09ad0171 09-Jan-2017 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Two major tweaks to var cycle analysis.

Firstly, var cycle analysis is now generally much better at handling
masking problems, e.g. when a linear variable is repeatedly masked off
or cast up and down, interspersed with other arithmetic.

Secondly, var cycle analysis detects dead paths within loops with some
vague approximation of const-propagation, which in particular allows an
offset value pageBitsForSize (SectionBits) in map_kernel_window to be
recognised as a constant offset.


# 89a69c49 04-Jan-2017 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Move consider_inline process to check.

It's still not really where it belongs. Really the target should specify
what the inlining process should be, but that breaks backward compatibility
a bit too much for me right now.


# ae31944f 01-Nov-2016 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Tweak detection of complex loops.


# aafda392 19-Oct-2016 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Get function limit bounds working.

Resolution:
- the previous hack for general splittable points was restored.
- the loop bound function limit code was rewritten to not require
this anyway.


# d6810c5a 18-Oct-2016 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Adjust approach to splittables.

Generate splittable information lazily and store in cached_analysis
of problem. Also check for complex loops at a slightly different
point.

Also replace an experimental better split point detector in logic
with another experimental one which also doesn't work perfectly yet.


# 651e3d0e 04-Sep-2016 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Search performance improvements.

Tweaking now, less tracing, more caching, more caution in using the
necessary linear sequence alignment, and a cache to avoid repeatedly
testing similar weakly aligned splits.


# bd491304 31-Aug-2016 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Tweak handling of reachability.

Move reachability cache to problem (from rep_graph), use in check
to insist on discovering (0) loop bounds slightly less often.


# 892992c4 19-Aug-2016 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Initial switch-optimisation implementation.

Partly working. Has detection for switch-like problems that can probably
be best addressed with an initial case split. New search feature discovers
matching path pairs from within the case split set. Hook for building proofs
based on this not currently working.


# 32f1e6f4 11-Aug-2016 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Support dmb instruction and an accumulator.

For unrolled loops, we may need an accumulator where a value is incremented and
trimmed to 8-bits repeatedly. Bleh.


# dde55fc0 09-Aug-2016 Thomas Sewell <Thomas.Sewell@nicta.com.au>

More support for inline scripts.


# 16d011ac 02-Aug-2016 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Activate inst_logic for seL4-example, fixups.


# 0a038961 01-Aug-2016 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Minor adjustments.


# 351e0930 19-Jul-2016 Felix Kam <felix.kam@nicta.com.au>

bugfixes


# ba0f5723 21-Jun-2016 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Respect 'do_analysis = False' in inline_at_point.


# 0c379e1e 20-Jun-2016 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Faster problem (re-)construction in trace_refute.

I suspect that a lot of time is wasted in loop_bounds on this.


# 04bb5423 19-Apr-2016 Thomas Sewell <thomas.sewell@nicta.com.au>

Summarised version of graph output.

Avoids long strings of Basics and assertions (Conds with Err output),
making the overall graph quite readable.


# 0c1f1fe1 17-Dec-2015 Thomas Sewell <Thomas.Sewell@nicta.com.au>

First steps toward floating point support.

This gets mostly just passed through to the relevant SMT logics. Since they're
still transitionally supported it's not clear whether to change the QF_ABV
logic or not.


# 7b32280d 26-Nov-2015 Felix Kam <felix.kam@nicta.com.au>

minor edits


# e741b210 13-Oct-2015 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Performance tweaks.


# 99457acd 12-Oct-2015 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Bugfix.


# 2f229627 12-Oct-2015 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Defer some analysis during inline phase.

The WCET analysis is keeping us waiting on this a lot.


# fc0cf398 11-Oct-2015 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Port inline workaround from WCET branch.

This leads to less Aborts and more results. It's a bit of a hack
though, but then so was the hardcoded 'C' tag.


# a416eb7f 01-Oct-2015 Thomas Sewell <Thomas.Sewell@nicta.com.au>

More loop search bugfixes.


# fbce479b 29-Aug-2015 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Make sure report-mode produces output in each case.


# 3d6869e3 24-Aug-2015 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Import of graph-refine tool.