57 Commits

Author SHA1 Message Date
Peter Goodman
31838780c3 Trim out trailing newlines and stuff 2017-12-14 00:56:22 -05:00
Peter Goodman
622afcdb98 Made variadic argument lists work in 32 bit x86. 2017-12-13 23:53:48 -05:00
Peter Goodman
303da80e78 Add OneOf for C-strings, vectors, and arrays. 2017-12-13 23:08:50 -05:00
Peter Goodman
1433f34960 Makeing 100% sure that the format_bufs are NUL-terminated. 2017-12-13 22:46:20 -05:00
Peter Goodman
7c585f5c44 Add 32-bit support, i.e. libdeepstate32 2017-12-13 21:53:33 -05:00
Peter Goodman
f4dd61f895 Added overrides for assert_fail and stack_chk_fail. 2017-12-13 14:16:21 -05:00
Peter Goodman
308fe70eb6 Hooked __assert_fail into the logging system. 2017-12-13 12:43:34 -05:00
Peter Goodman
5a84f665b6 Minor tweak. 2017-12-13 01:31:29 -05:00
Peter Goodman
bdf9f97913 Fixed OneOf example. 2017-12-12 22:22:31 -05:00
Peter Goodman
ada078368f Removing testfs example, and moving it to pgoodman/testfs. 2017-12-12 22:09:31 -05:00
alex
dca3f7342e adding 2017-12-12 14:45:44 -08:00
alex
97162bdf13 missing comment 2017-12-12 12:26:02 -08:00
alex
acd4e025b6 Merge branch 'master' of https://github.com/trailofbits/deepstate 2017-12-12 12:24:44 -08:00
alex
5b35c46fba small edits 2017-12-12 12:24:09 -08:00
Peter Goodman
e9bd6dc177 Fixes one or two subtle issues. But the more interesting fix is that I implemented puts in terms of DeepState_Log. Calls to printf that had no format arguments are transformed by the compiler into calls to puts, but that wasn't being wrapped by DeepState, so it was appearing as though those log messages never actually happened. 2017-12-12 14:01:41 -05:00
alex
c65b0c7ba4 better version 2017-12-12 00:20:13 -08:00
alex
70090bd712 Version that works, test depth 2017-12-11 23:17:18 -08:00
Peter Goodman
669f6cf3f9 Made the OneOf example work. 2017-12-11 19:40:39 -05:00
alex
76ff9ec5b3 capture fixed 2017-12-11 14:56:48 -08:00
alex
26657954c7 OneOf example (failing) 2017-12-11 14:30:37 -08:00
Peter Goodman
f15e09520b Merge branch 'master' of github.com:trailofbits/deepstate 2017-12-10 20:09:36 -05:00
Peter Goodman
8248bbdcbc Removed usage of old name, added in a Euler power of like primes example. When the pairwise ASSERT_NEs are absent, you get interesting results that show examples of integer overflows. 2017-12-10 20:08:08 -05:00
Peter Goodman
f28b285ac3 Removed usage of old name, added in a Euler power of like primes example. When the pairwise ASSERT_NEs are absent, you get interesting results that show examples of integer overflows. 2017-12-10 14:39:05 -05:00
Peter Goodman
fcd000dc14 Added a maximize objective API to DeepState. 2017-12-10 13:37:47 -05:00
Peter Goodman
188d4517d8 Added prime polynomial example, new Pumping function to address scalability challenges with primality testing, and some improvements to the streaming interface, where if you don't stream in values, then the python side doesn't end up printing out some 'empty' stream infos. 2017-12-09 16:43:43 -05:00
Peter Goodman
3aaaf71b85 Added support for c++ test fixtures. 2017-12-08 23:58:59 -05:00
Peter Goodman
f9fb7e81be Initial progress in Issue #7 with support for a Dr. Fuzz harness. 2017-12-08 21:07:52 -05:00
Peter Goodman
a411f0e032 Adds ONE_OF. Breaks some lines at 80 columns. 2017-12-07 20:05:06 -05:00
Peter Goodman
a5ce3eaf31 Fix issue where I passed cast_to to min. 2017-12-03 20:57:15 -05:00
Peter Goodman
29f2465ebf Fixes issue with logger. Fixes issue where we weren't get the minimum value SATed. 2017-11-21 13:01:32 -05:00
Peter Goodman
5f36822021 Made the report function concretize using the minimizer, so that eventually we'll be able to compare inputs generated across tools 2017-11-09 10:35:48 -05:00
Peter Goodman
02fce4cdf9
Merge pull request #2 from trailofbits/squares_example
Squares example
2017-11-02 13:39:09 -04:00
Peter Goodman
6ec7d71188 Added error checking. 2017-11-02 01:05:15 -04:00
Peter Goodman
a093a82ef9 Merge branch 'master' of github.com:trailofbits/deepstate 2017-11-02 00:54:22 -04:00
Peter Goodman
c4f74e2389 Adds some error checking around finding important symbols and initializing Manticore/Angr. Adds the ability to save concretized bytes to an output directory. For the time being, I'm going with the approach of the user specifying a output dir, then within that I create directories for each file basename in the tests, and subdirectories for each test name, and in there I put binary test files. 2017-11-02 00:54:18 -04:00
Peter Goodman
fee42a7677
Merge pull request #1 from trailofbits/user_install_clang4
Allow for user specific installs, build with Clang 4.0
2017-11-02 00:46:07 -04:00
Artem Dinaburg
2157f67dac Add an example that modifies an existing C program for symbolic testing 2017-11-02 00:33:35 -04:00
Artem Dinaburg
07fb0fb4c8 build using clang 4.0 2017-11-01 22:59:17 -04:00
Artem Dinaburg
373441fb9f Allow for a user only install if CMAKE_INSTALL_PREFIX is set 2017-11-01 22:59:04 -04:00
Peter Goodman
bc208dbd4d Fixes issue where the angr script printed out the wrong symbol bytes. 2017-11-01 21:27:08 -04:00
Peter Goodman
4f914e4eee Fixes to stream formatting of doubles, they weren't being streamed before. Implemented the chk versions of printf and such, so that they all route through the logging interface as well. Implemented the concretization APIs. 2017-11-01 17:56:54 -04:00
Peter Goodman
d2bc82fc35 Renaming from McTest to DeepState. 2017-11-01 13:38:32 -04:00
Peter Goodman
f7f029965b Whatever I had before renaming. 2017-11-01 12:14:22 -04:00
Peter Goodman
a46e06b03b Refactored to split common code between Manticore and Angr out into common.py. Implemented the new deferred streaming stuff, it seems to work semi-well for this simple cases I've tested, but there's still work to do. The latest code has some remaining issues. Printing out the final input bytes in Angr shows the wrong thing, although what gets streamed out is right. This is visible when running mctest-angr examples/ArtihmeticProperties. With Manticore, the big issue is that it doesn't properly pickle smt expressions (or something to this effect), so I'm ending up with multiple definitions of the same stuff and that throws exceptions. This is tricky to deal with because the streaming of output needs to be able to save symbolic data. 2017-11-01 02:42:31 -04:00
Peter Goodman
8ec44074ad Make sure to make new lists of messages so that messages from one test don't get put into another. 2017-10-30 14:39:15 -04:00
Peter Goodman
3702bfcb81 Changed how the logging works to log to a static buffer, then the hooks pull info out from there. 2017-10-30 14:16:02 -04:00
Peter Goodman
e4f4cfe0db Kind of feature parity between Manticore and Angr on these tests. 2017-10-30 00:45:59 -04:00
Peter Goodman
4b786adc70 Got Manticore (with some minor unpublished fixes) working for McTest, based on Yan's initial work. Most of the angr code directly ports over, which is convenient. Haven't yet implemented McTest_Log (which isn't working for angr, curiously). 2017-10-29 20:35:50 -04:00
Peter Goodman
0ec7047b0f Merge branch 'master' of github.com:trailofbits/mctest 2017-10-29 18:54:48 -04:00
Peter Goodman
e0f104aaef Adding logger support, and other things. 2017-10-29 18:54:41 -04:00