Joe Hendrix
5b8d1798bf
Add symbol names to DiscoveredFunInfo.
2017-03-10 22:01:44 -08:00
Joe Hendrix
1ce1547e6e
Add check to ensure jumps to start of function are self-loops
2017-03-08 16:57:12 -08:00
Joe Hendrix
e4061d370c
Remove DiscoveryInfo blocks field as parsedBlocks replaces it.
2017-03-08 13:40:40 -08:00
Joe Hendrix
26f68bf003
Migrate away from global blocks in discovery.
2017-03-08 13:21:41 -08:00
Joe Hendrix
2d23dba229
Add foldAppl
2017-03-05 23:56:37 -08:00
Joe Hendrix
40b92c901d
Make return address unmodifiable for analysis purposes.
2017-03-01 12:08:10 -08:00
Joe Hendrix
8dee23f9eb
Remove unneeded reason information from frontier.
2017-02-27 19:14:25 -08:00
Tristan Ravitch
38aa71d033
Merge branch 'master' of gitlab-ext.galois.com:macaw/macaw
2017-02-27 08:50:48 -08:00
Joe Hendrix
9518348ea1
Updates to resolve infinite loop due to abstract domains iteration.
2017-02-25 19:31:14 -08:00
Joe Hendrix
e97e7c7f49
Replace diassemble error with trace
2017-02-24 01:54:44 -05:00
Joe Hendrix
953e607e0e
Update classifyfailure
2017-02-24 01:53:11 -05:00
Joe Hendrix
fde2db4726
Fix bug in discovery; Remove unused commented out code.
2017-02-16 13:20:55 -05:00
Joe Hendrix
febac68d9f
Remove classifyBlock
2017-02-16 10:54:47 -05:00
Joe Hendrix
0d086237e8
Start using jump bounds; introduce "ParsedBlocks"
...
The code is now using a constraint representation for Jump bounds; an
attempt to reduce the need for strided intervals.
It's a bit unclear how much of a win this is; the jump bounds should
recognize the size of a jump table with fewer needs to repeat as
strided intervals may. However, it doesn't solve the incompleteness
problem that I hoped it would -- if the intra-procedural control flow
graph contains missing edges, the result may still be incomplete.
This code also introduces ParsedBlocks, a basic block representation
that used the ParseTermStmt. A future patch will start including this
in the discoveryinfo, so that later procedures do not need to call
"classifyBlock".
2017-02-16 02:53:19 -05:00
Joe Hendrix
848cc2d0d0
Fix race condition and unnecessary error checking in Discovery.hs
2017-02-13 01:12:50 -08:00
Joe Hendrix
200afa251a
Add Bits instance to MemWord.
2017-02-12 23:30:07 -08:00
Joe Hendrix
36d161acd2
Migrate abstract state with start of block to block region datatype.
2017-02-11 23:50:40 -08:00
Joe Hendrix
fc2a7a06aa
Fixes to enasure codeInfoMap and blocks contain same keys.
2017-02-11 23:22:17 -08:00
Joe Hendrix
ab2e50a17d
Move assignId ref computation from reopt to macaw; minor additional changes.
2017-02-03 14:25:35 -08:00
Joe Hendrix
79a3390b09
Fix JumpBounds.
2017-01-31 13:47:26 -08:00
Joe Hendrix
cc76e82455
Merge branch 'master' of gitlab-ext.galois.com:macaw/macaw
2017-01-28 12:58:36 -08:00
Joe Hendrix
e962608f2c
Add JumpTable bounds; remove code discovery dependency on syscall.
2017-01-28 12:57:49 -08:00
ben
390d6b63d9
Merge branch 'fix-stack-containers-version' into 'master'
...
Update stack.yaml to match cabal requirement on containers version
See merge request !4
2017-01-18 11:47:35 -08:00
Ben Davis
72c8ff19d5
Update stack.yaml to match cabal requirement on containers version
...
macaw.cabal requires 'containers >= 0.5.8.1', but this is newer than the version
available via the stack lts-6.23 resolver. Specifying acceptable versions of
containers (and lens and kan-extensions) in stack.yaml lets us 'stack build'.
2017-01-18 14:26:48 -05:00
jhendrix
49c10bbc00
Merge branch 'add-deps-checkout-script' into 'master'
...
Add a script to clone/pull dependencies
See merge request !3
2017-01-18 11:15:16 -08:00
Ben Davis
e8b6c3a0ad
Add a script to clone/pull dependencies
2017-01-18 11:17:59 -05:00
Joe Hendrix
3014a23a70
Fix 64-bit dependency in Macaw.
2017-01-17 02:09:23 -08:00
Joe Hendrix
1b878ee6d6
Cleanup classifyBlock return value.
2017-01-17 01:19:55 -08:00
tristan
edcea3eb28
Merge branch 'fix/intervalmap-bound' into 'master'
...
Add a version bound on IntervalMap
See merge request !2
2017-01-06 16:13:44 -08:00
Tristan Ravitch
37a38954eb
Add a version bound on IntervalMap
...
Macaw uses the API from 0.5, which is incompatible with 0.4 for the contains
function.
2017-01-06 16:10:23 -08:00
Joe Hendrix
074383b3a1
Simplify ParsedSyscall
2017-01-05 12:51:56 -08:00
Joe Hendrix
53bca3285a
Minor comment changes
2017-01-04 23:08:52 -08:00
Tristan Ravitch
84689e9861
Fix a haddock syntax error
2017-01-04 13:27:51 -08:00
Tristan Ravitch
f758db30a6
Add a lower version bound on IntervalMap
...
We are using the new `containing` API that returns a map instead of a list, so
we can't use 0.4 anymore.
2017-01-04 13:27:13 -08:00
Joe Hendrix
bfcee99d58
Various changes; Better support for tracking why code location has been
...
identified; Improved error reporting.
2017-01-03 16:17:41 -08:00
Joe Hendrix
48a41a7d21
Fix undefined function in AbsState
2016-12-27 14:32:26 -08:00
Joe Hendrix
e27d3ee0ef
Additional support for relocations; GHC 8.0.1 compat
2016-12-27 13:59:21 -08:00
Joe Hendrix
cf1619b8ab
Cleanup memory segment insertion
2016-12-13 18:05:36 -08:00
Joe Hendrix
850057d767
Add variable declaration field
2016-12-13 11:55:53 -08:00
Joe Hendrix
0c84749ead
Add additional dwarf parsing
2016-12-12 16:37:55 -08:00
Joe Hendrix
82d9527b5b
Update to reflect dwarf library changes
2016-11-29 18:47:28 -08:00
Joe Hendrix
7b568edc0c
Initial commit of macaw
2016-11-28 23:14:04 -08:00