Tristan Ravitch
e29d94be06
Change the representation of RelocatableValue
...
It used to hold a SegmentedAddr. This caused issues in semantics that require
the ability to perform addition and subtraction operations on RelocatableValues.
Addition or subtraction operations on SegmentedAddrs are not well defined,
because these operations can push a value from one segment into another, and
there is no way for them to compute the new segment.
The new representation is just a MemWord, whose interpretation is now decided
later (in `transferValue'` in AbsState).
2017-03-21 14:32:30 -07:00
Tristan Ravitch
ae02239342
Merge branch 'master' of gitlab-ext.galois.com:macaw/macaw
2017-03-20 09:57:09 -07:00
Joe Hendrix
1e0c10787f
Remove tryGetStaticSyscallNo
2017-03-20 00:07:29 -07:00
Tristan Ravitch
823677d4ea
Merge branch 'master' of gitlab-ext.galois.com:macaw/macaw
2017-03-17 14:22:22 -07:00
Joe Hendrix
eb547022d8
Minor cleanups to macaw
2017-03-16 02:44:33 -04:00
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