about summary refs log tree commit diff homepage
AgeCommit message (Collapse)Author
2015-04-25Make sure TravisCI tests at least one Debug+Asserts build.Dan Liew
2015-04-25Remove boost requirements from TravisCI build.Dan Liew
2015-04-19Fixed RewriteEqualities input to be more resilient to differences in ↵Cristian Cadar
compilation.
2015-04-19Temportily marking RewriteEqualities test as XFAIL.Cristian Cadar
2015-04-19Added a new test case that checks the --rewrite-equalities optimisation. ↵Cristian Cadar
The test contains the program proposed by Eric Rizzi in https://github.com/klee/klee/issues/227, and shows a case in which a constant constraint results after the optimisation.
2015-04-18Merge pull request #213 from MartinNowack/klee-clangCristian Cadar
Add klee-clang as alternative to klee-gcc
2015-04-15Add clang-format style. We just use LLVM's style.Dan Liew
2015-04-15Fix the handling of AShrExpr in ExprSMTLIBPrinter so that an overshiftDan Liew
always goes to zero (matches LLVM's APInt::ashr(...)). This is meant to partially address issue #218. There are a few problems with this commit * It is possible for AShrExpr to not be abbreviated because the scan methods will not see that we print the 0th child of the AShrExpr twice * The added test case should really be run through an SMT solver ( i.e. STP) but that requires infrastructure changes.
2015-04-10The Docker image had python2 and python3 which is a waste of spaceDan Liew
(I'm not sure where python3 came from. I didn't explicitly install it). Just ship python3.
2015-04-10Don't upgrade pip or setuptools. Upgrading pip breaks the build becauseDan Liew
/usr/local/bin/ isn't in PATH so using pip after upgrading it fails.
2015-04-10Add missing slash in last commit.Dan Liew
2015-04-10Update DockerfileDavid Leon Gil
klee-stats requires tabulate to be installed.
2015-04-09Add initial Dockerfile for building a KLEE Docker image (uses LLVM3.4).Dan Liew
This is is tightly coupled with the TravisCI scripts. There are some really nasty hacks in here that we should get rid of at some point.
2015-04-09Try to fix using the compiler KLEE's configure script detected again!Dan Liew
My first attempt in b41cf33b6b726fd97e502c5c4818f5feeea0284b was wrong because setting the CC and CXX Makefile variables in Makefile.config.in did not work because LLVM's Makefile.config would override them. Also detecting the C compiler is unnecessary because we already do this (bitcode compiler detection)
2015-04-09Normalised line endingsCristian Cadar
2015-04-09Added .gitattribute file that takes care of line endings.Cristian Cadar
2015-04-09Fix mistake if TravisCI scripts where configure flag for enabling POSIXDan Liew
runtime was incorrect.
2015-04-09Added a new option, --rewrite-equalities, which makes it possible to disable ↵Cristian Cadar
the optimisation that rewrites existing constraints when an equality with a constant is added
2015-04-09Switch to using STP's fork of minisat for TravisCI. It contains fixesDan Liew
needed by Clang.
2015-04-08Fix very annoying issue where KLEE's configure would completlyDan Liew
ignore the C++ compiler detected and just use the compiler detected during the LLVM configure.
2015-04-03Upstream STP now depends on an external build of minisat. Attempt toDan Liew
fix travis build of upstream STP and also how KLEE links against STP.
2015-04-03Fixed issue introduce during a previous refactoring, related to field ordering.Cristian Cadar
2015-04-02Use C instead of C++ comments in C files to silence compiler warnings.Cristian Cadar
2015-04-02Silenced some compilation warnings.Cristian Cadar
2015-04-02Merge pull request #209 from erakadjiev/timestamp_optimizeCristian Cadar
Cleaner, more efficient timestamps
2015-04-02Revert "[include] Added documentation" to avoid a conflict with a pending ↵Cristian Cadar
pull request. This reverts commit badffc570e1be6b675dcab7e21829bd029c46287.
2015-04-02Fixed some doxygen issues.Cristian Cadar
2015-04-02Removed unused fakeState field from ExecutionStateCristian Cadar
2015-04-02Pass over the comments in ExecutionState.hCristian Cadar
2015-04-02Removed underConstrained field, which I believe was re-introduced byCristian Cadar
mistake in the last cleanup commit.
2015-04-02[Core] Documentation and cleanupMartin Nowack
* Removed unused member ShadowObjects in ExecutionState * Added documentation of members and reorder according to categories
2015-04-01Added the function IndependentSolver::createdPointEvaluatesToTrueEric Rizzi
This function should be used solely in assertion statements and is intended as a sanity check to make sure that the solution constructed by IndependentSolver::getInitialValues() produces and answer that in fact satisfies the the query.
2015-04-01Commit of improved IndependentSolver::getIniitalValues().Eric Rizzi
Previous implementation simply passed the entire constraint forward without any factoring of the constraint at all. This is a problem since it is highly likely that there are cached solutions to pieces of the constraint. The new implementation breaks the entire constraint down into its requisite factors and passes each piece forward, one by one, down the solver chain. After an answer is returned, it is integrated into a larger solution. Since, by definition, no factor can affect another, we can safely create a solution to the larger constraint from the answers of its smaller pieces. The reconstruction of the solution is done by analyzing which parts of an array a factor touches. If the factor is the only one to reference a particular array, then all of the values calculated in the solution for that array are included in the final answer. If the factor references a particular element of the array (for example, arr[1]), then only the value in index 1 of array arr will be included in the solution.
2015-04-01Added the ability to solve for all factors in a particular query.Eric Rizzi
This functionality is necessary in order to more effectively handle calls to IndependentSolver::getInitialValues. An incoming query will be broken down into its smaller parts, and each piece will be solved for. At the end, the pieces will be recombined into a larger solution. The IndependentElementSet::getAllFactors() method takes a query and breaks it down into all of it's non-interacting factors. The IndependentElementSet::calculateArrays() method calculates which arrays are involved in a particular factor.
2015-04-01[include] Add missing functions in klee.hMartin Nowack
2015-04-01[runtime] Fix include in klee_intMartin Nowack
2015-04-01[test] Fix compilation warningMartin Nowack
Use correct definition and declaration of main function
2015-04-01[Core] Fixed typo in assertionMartin Nowack
2015-04-01[runtime] Fix comments to c style for c files and headersMartin Nowack
2015-04-01[tests] Fix undefined functionMartin Nowack
Add some missing header to silence compiler warnings
2015-04-01[tools] Added fortified version wrapper for fprintfMartin Nowack
2015-04-01[include] Added documentationMartin Nowack
2015-04-01[include] Removed unused variableMartin Nowack
2015-03-22Fix compilation under MacOS, see https://github.com/klee/klee/issues/219 for ↵Cristian Cadar
details.
2015-03-20Improve arithmetic-right-overshift-sym-conc.c test by make sure itDan Liew
also test a negative constant as the lhs.
2015-03-20[Solver] Fix leak intermediate expression not freedMartin Nowack
2015-03-20[Core] Fix memory leak in assembler raisingMartin Nowack
2015-03-13Timestamp improvements.Emil Rakadjiev
Replaced inefficient llvm::sys::Process::GetTimeUsage() with TimeValue::now(), because in many cases only the wall clock time is needed, not the user and sys times (which are significantly more expensive to get). Updated TimingSolver and WallTimer accordingly.
2015-03-12Merge pull request #212 from MartinNowack/killing_states_warningCristian Cadar
[Core] Always warn if states get deleted due to memory limits
2015-03-12[Core] Always warn if states get deleted due to memory limitsMartin Nowack