about summary refs log tree commit diff homepage
AgeCommit message (Collapse)Author
2015-12-18Remove a bunch of LeakSanitizer suppressions that aren't needed anymoreDan Liew
due to fixes from #315 and #316.
2015-12-18Merge pull request #315 from delcypher/array_leakDan Liew
Try to fix leaking Array objects detected by ASan.
2015-12-18Fix memory leaks of ``Array`` objects detected by ASan.Dan Liew
Some of these leaks were introduced by the factory constructor for Array objects (f049ff3bc04daead8c3bb9f06e89e71e2054c82a) but a few others have been around for far longer. This leak was fixed by introducing a ``ArrayCache`` object which has two purposes * Retains ownership of all created ``Array`` objects and destroys them when the ``ArrayCache`` destructor is called. * Mimic the caching behaviour for symbolic arrays that was introduced by f049ff3bc04daead8c3bb9f06e89e71e2054c82a where arrays with the same name and size get "uniqued". The Executor now maintains a ``arrayCache`` member that it uses and passes by pointer to objects that need to construct ``Array`` objects (i.e. ``ObjectState``). This way when the Executor is destroyed all the ``Array`` objects get freed which seems like the right time to do this. For Kleaver the ``ParserImpl`` has a ``TheArrayCache`` member that is used for building ``Array`` objects. This means that the Parser must live as long as the built expressions will be used otherwise we will have a use after free. I'm not sure this is the right design choice. It might be better to transfer ownership of the ``Array`` objects to the root ``Decl`` returned by the parser.
2015-12-17Clean up the check in the previous commit by using one of KLEE'sDan Liew
helper functions.
2015-12-17Fixed a bug with how non power 2 values were written to memory, added test ↵Timotej Kapus
for it
2015-12-17[Solver]Add support to dump STP qeries usingMartin Nowack
Use "-debug-dump-stp-queries" argument for KLEE/Kleaver to print out each STP query sent to the STP Solver. Queries have the format which `stp` frontend can understand.
2015-12-17Report fatal error in case CexCache Bindings do not matchMartin Nowack
2015-12-17Add dump function for AssignmentMartin Nowack
2015-12-17[Solver]Add simple option to dump queriesMartin Nowack
2015-12-17Refactoring: Moving klee_warning/_error functions to ErrorHandling in ↵Martin Nowack
Support directory
2015-12-17Merge pull request #316 from delcypher/update_list_leakDan Liew
Fix a memory leak in ``UpdateList`` detected by AddressSanitizer.
2015-12-17Fix a memory leak in ``UpdateList`` detected by AddressSanitizer.Dan Liew
The overloaded assignment operator previously only deleted the head ``UpdateNode`` if the ``UpdateList`` had exclusive ownership which left the remaining list of ``UpdateNode``s dangling if those nodes had ``refCount`` of 1. To fix this the logic that was previously in the ``UpdateList`` destructor for deleting nodes that were exclusively referenced by the UpdateList has been moved into ``UpdateList::tryFreeNodes()`` so that it can be called from ``UpdateList::operator=()``. It looks like this bug has been in KLEE since the beginning.
2015-12-17Add LeakSanitizer (component of AddressSanitizer) suppression fileDan Liew
which is required to suppress all the leaks I'm currently seeing in KLEE when running ``make unittests`` and ``make check``. Ideally there should be no leaks but we aren't there yet. Hopefully at some point we won't need to suppress any leaks and then we can have a TravisCI build that builds with ASan. The leak of the expression objects when running the executor is worrying and I will investigate this next.
2015-12-16Propagate AddressSanitizer, LeakSanitizer (part of AddressSanitizer),Dan Liew
MemorySanitzer and ThreadSanitizer environment variables when running lit tests. This makes it easy suppress errors in sanitized versions of KLEE
2015-12-13Ignore some generated files that will be visible if doing an in sourceDan Liew
build. Spotted by @domainexpert
2015-12-13Ignore some autoconf generated files.Dan Liew
2015-12-13Set C++ standard in Clang format settings file to C++03. OtherwiseDan Liew
template braces get reformatted the C++11 way and that breaks compilation.
2015-12-11Reword help description for ``--silent-klee-assume`` command lineDan Liew
flag as suggested by @ccadar
2015-12-11Change SilentKleeAssume.c test slightly so thatDan Liew
``--silent-klee-assume=0`` is no longer passed. This ensures that we also check that ``--silent-klee-assume`` is off by default.
2015-12-11Add command line flag ``--silent-klee-assume``to suppress errors due toValentin Wüstholz
infeasible assumptions.
2015-12-04Remove dead ifdef in STPBuilder header file. There is noDan Liew
``stp/stplog.h`` header file in the current version of STP and no support in the build system for setting this define so this code is completly dead.
2015-12-04Remove dead ``tempVars`` and ``getTempVar()`` method in STPBuilderDan Liew
2015-12-04Merge pull request #310 from msoos/fix-klee-clang-script2MartinNowack
Fixing klee-clang to strip all flags not understood by llvm-link
2015-12-04Fixing klee-clang to strip all flags not understood by llvm-linkMate Soos
2015-12-02Merge pull request #309 from msoos/fixstrong3MartinNowack
Removing -fstack-protector-strong for clang <= 3.4
2015-12-02Removing -fstack-protector-strong for clang <= 3.4Mate Soos
It's not supported and breaks compilation. This affects in particular Debian Jessie and probably all derived distros, too
2015-11-13Added NEWS fileCristian Cadar
2015-11-13Moving to version 1.1.0Cristian Cadar
2015-11-08Merge pull request #269 from MartinNowack/fix_sremMartinNowack
[STPBuilder] Generate SRrem expressions correctly
2015-10-31Merge pull request #296 from delcypher/specify_klee_uclibc_versionDan Liew
Specify klee uclibc version
2015-10-30Make sure TravisCI does a few builds where it uses the developmentDan Liew
branch for klee-uclibc.
2015-10-30Teach TravisCI and the Docker build to use the taggedDan Liew
"klee_uclibc_v1.0.0" release of uclibc.
2015-10-08Fix accidently hardcoding of LLVM version in DockerfileDan Liew
2015-09-26Merge pull request #281 from andrewchi/futimesat-fixMartinNowack
Don't use /tmp for futimesat unit test
2015-09-25Don't use /tmp for futimesat unit testAndrew Chi
This causes problems on a shared machine where multiple users are running the KLEE unit tests.
2015-09-22[STPBuilder] Generate SRrem expressions correctlyMartin Nowack
The '%' operater in C is not Gauss Modulo but remainder operations. Using a negative number as right operand can result in a negative number. Fix appropriate SRem building Note: MetaSMTlib implementation doesn't have that bug.
2015-09-21Merge pull request #274 from MartinNowack/fix_sdiv_1Cristian Cadar
Fix signed division by constant 1/ -1
2015-09-18Merge pull request #275 from MartinNowack/fix_empty_constraints_indep_solverCristian Cadar
Allow to generate initial values for queries with empty constraint set.
2015-09-05Allow to generate initial values with empty constraint setMartin Nowack
2015-09-04Merge pull request #276 from MartinNowack/travis_updateCristian Cadar
Travis: Support KLEE with different STP versions, in particular 2.1.0; Disable r940
2015-08-31Delete old patches.Martin Nowack
Say farewell to r940.
2015-08-30Support KLEE with different STP versions; Disable r940Martin Nowack
Build STP version based on provided branch. Build current STP version 2.1.0 by default and test with master branch as well
2015-08-30Fix signed division by constant 1/ -1Martin Nowack
Division by constant divisor get optimized using shift and multiplication operations in STP builder. The used method cannot be applied for divisor 1 and -1. In that case use slow path.
2015-08-21Merge pull request #251 from ret2libc/entryFnParamCristian Cadar
Added option to specify a different entry point from main(). Remove some whitespaces.
2015-08-17Merge pull request #239 from yotann/masterCristian Cadar
Fix assertion failure in getDirectCallTarget
2015-08-14test: add Feature test for EntryPoint optionRiccardo Schirone
2015-08-14tools/klee: pass the entry function name as argumentRiccardo Schirone
2015-08-14tools/klee/main: remove whitespacesRiccardo Schirone
2015-08-13Merge pull request #271 from kren1/coverageInfoCristian Cadar
Added link in README.md to coverage information for KLEE's codebase
2015-08-10Added link to coverage informationunknown