forked from UnitTestBot/klee
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Misonijnik/refactor #1
Open
S1eGa
wants to merge
48
commits into
utbot-main
Choose a base branch
from
misonijnik/refactor
base: utbot-main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
S1eGa
force-pushed
the
misonijnik/refactor
branch
2 times, most recently
from
December 27, 2022 12:10
975eb21
to
35b6fc8
Compare
[feat] Add LI object addresses concretizations
[tempfix] Add SkipNotLazyInitialized
…ger entity, that can create such these KType's.
…ld, as type can be changed dynamically, e.g. during first write into malloc'ed memory.
…bjects. Fixed type creation for C++ types, fixed tests for types and added for alignment.
S1eGa
force-pushed
the
misonijnik/refactor
branch
from
February 12, 2023 19:27
35b6fc8
to
865b96f
Compare
WIP Prepared BlueprintSolver models recomputation, implemented BlueprintSolver::computeValidity, added few tests for LI. Added Executor::makeArray() function Added check for address during LI (that we can allocate such objects in memory). Added test for this check. Slight improvements in API of ConcretizationManager. Speed up of executeMemoryOperation procedure by changing to check. Fix for check before lazy object initialization (evaluate -> simplifyExpr). Fix tests for LI. Added check if address can reference to any memory location after resolve without LI. operations from AddressSpace now return lists of MemoryObjects's IDs. Will be useful in work with symbolisc sizes. executeMemoryOperation: inline replaced with mass to fix seeding mode. Improved naming construction for makeArray(). Symbolic sizes. Constant sizes of Array's replaced with ref<Expr>. Fixed unittests. Implented queries in BlueprintSolver and additional query to get minimal possible value in SolverImpl WIP. Implemented functions to make sizes recomputations. Added dependency in IndependentElementSet between size and address of arrays with symbolic sizes. Lazy initialization now use objects of symbolic size. Added state updating during execution. Fixed state updates. Added address generator. WIP WIP WIP [feat] Separate `compare` and `equals` [fix] ValidityCore API Fixes [fix] ValidityCore API Fixes. Added simple test for objects of symbolic size. WIP. Fixed outOfBound case check in execMO, fixed pathOS test. Completed implementations of requests in BlueprintSolver, added verification that assignments from queries contain all symcretes. Fixed bug with adding constraint in ConcretizationManager. WIP toUnique function renamed to trygetWeight and moved to TimingSolver Added tests, added resolveOneIfUnique method to find meomeryo object for symcrete address. Still have failing tests (WIP). Test fixes Unnecessary commit: changed logic for solver to investigate perfomance regression in TwoObjectsInitialization.c test. Slighlty optimized getMinimalUnsignedValue function. Rewrited allcoate function in Executor: now we are trying to optimize sum of sizes instead of single size. Fixed query printing in smt2 notation Fixed naming of variables in SMT2 notation. Fixed error handling during lazy initialization Fixed model receiving in memory allocation. Added bound for symbolic sizes to model malloc's behavior. WIP. Fixed expression widths in computeMinimalUnsignedValue. Added forks during memory allocations to model NULL result of malloc during huge allocations. WIP. Fix perfomance, bug in MO tracking. WIP WIP. Fixes for ConcretizationManager. Fixed output for smt2 loggers, updating ConstraintManager for klee_prefer_cex. Fixed tests. Separated options for constant and symbolic sizes. Changed ObjectState copying for new MemoryObject. Extending constantValues array after ObjectState recomputation (possibly buggy area). WIP. Arrays for constant objects replaced with constant arrays. [feat] Add read optimization WIP. Sparse structure. WIP. Incomplete sparse structure. WIP. Implemented iterator for sparse stotage. Optimized bounds check pointer for case with equals sizes WIP. Better bound approximation during computation of minimal unsigned value. Slightly optimized minimiztion function: now to find right border we can make a binary search WIP. Implemented check function for SolverBlueprint. One more optimization added for computeMinimalUnsignedValue --- we can use values from solver when move right borders to left in binary searches. WIP. Fix for Independent solver. Retracted changes with value optimization for binary search. Added caching in SolverBlueprint.
The implementation is based on KLEE-float. Supported llvm math intrinsic functions related to floating-point. Added ENABLE_FP and FP_RUNTIME options to CMake. Provided an ability to switch between Z3Builder implementations. Building KLEE without -DCMAKE_ENABLE_FLOATING_POINT does not change the core. Changed scripts and github actions to launch fp-tests.
Use `createCachedExpr`
…iable for stdin buffer size to ktests. Disabled tests for now broken klee-replay and klee-zesti (unused).
Implement getc, fgetc, fread, fgets, getchar, gets, putc, fputc, fwrite, fputs, putchar, puts
(cherry picked from commit 99c522b)
[feat] Add releaseStates
S1eGa
force-pushed
the
misonijnik/refactor
branch
from
February 12, 2023 22:22
865b96f
to
f0abdbc
Compare
S1eGa
force-pushed
the
misonijnik/refactor
branch
from
February 14, 2023 16:07
5afd543
to
f7a4733
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary:
Checklist: