Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-05-02 | Refine support for stdio capture | Nguyễn Gia Phong | |
2024-03-05 | Relax revision combination check | Nguyễn Gia Phong | |
2024-03-05 | Hack up brute-force decision tree construction | Nguyễn Gia Phong | |
2024-03-05 | Clean up interfaces | Nguyễn Gia Phong | |
Psychic now extract patch number directly from meta conditions. Previously it was under the assumption that a patch is triggered by multiple choices. Now we allow a patch to have multiple hunks and the possibility to combine multiple patches. Internally, the code relevant diff test generation is moved under Differentiator. | |||
2024-03-05 | Revert orphaned changes | Nguyễn Gia Phong | |
2024-03-05 | Handle conjoined metaconstraints | Nguyễn Gia Phong | |
2024-03-05 | Move differentiator to separate module | Nguyễn Gia Phong | |
2024-03-05 | Execute concrete programs more eagerly | Nguyễn Gia Phong | |
2024-03-05 | Implement detection of implicit return via pointer | Nguyễn Gia Phong | |
2024-03-05 | Implement return value detection | Nguyễn Gia Phong | |
Values returned after reaching patch location from functions in the specified source file are now automatically accounted for differential test generation. | |||
2024-03-05 | Handle revisited meta sym var when generate env var | Nguyễn Gia Phong | |
I still have no clue in some cases why they are seen more than once. | |||
2024-03-05 | Retire external symbilic diff | Nguyễn Gia Phong | |
2024-03-05 | Implement native path condition combination | Nguyễn Gia Phong | |
2024-03-05 | Fix metavar detection false negative | Nguyễn Gia Phong | |
2024-03-05 | Fallback on UB | Nguyễn Gia Phong | |
This is not benefitting off UBSan, but there are too many moving parts now that a common denominator is needed for me to mentally keep track of things. (Yes, it's embarrassing that I commit less often working on software engineering research software, now I'm paying the price.)-; | |||
2024-03-05 | Support 1-byte metavariables | Nguyễn Gia Phong | |
2024-03-05 | Add search heuristic for patch locations | Nguyễn Gia Phong | |
2024-03-05 | Avoid resolving combined SMT formulae | Nguyễn Gia Phong | |
2024-03-05 | Half-bake decision clustering | Nguyễn Gia Phong | |
2024-03-05 | Conclude concrete execution impl | Nguyễn Gia Phong | |
2024-03-05 | Lay ground work for concrete execution | Nguyễn Gia Phong | |
2024-03-05 | Clone state more completely | Nguyễn Gia Phong | |
2024-03-05 | Implement differentiator extraction | Nguyễn Gia Phong | |
2024-03-05 | Save exited states' formula | Nguyễn Gia Phong | |
2024-03-05 | Receive instrumented revision number | Nguyễn Gia Phong | |
2024-03-05 | Implement differencial test structure | Nguyễn Gia Phong | |
2024-02-29 | Add support to fully concretise objects if modified externally | Martin Nowack | |
Propagate ExternalCallPolicy to allow user-based selection. | |||
2024-02-29 | Support external call concretisation policies for referenced objects | Martin Nowack | |
Provide an additional argument to select the concretisation policy. Fix a bug where the concretisation of a shared memory object was visible across different states by retrieving a writable object state first. | |||
2024-02-29 | Refactor `ObjectState::flushToConcreteStore` to use `toConstant` | Martin Nowack | |
Use existing `Executor::toConstant()` function to transform a symbolic byte of an `ObjectState` to its concrete representation. This will also add constraints if required. | |||
2024-02-29 | Use correctly constrained constants if the memory object is fully symbolic | Martin Nowack | |
Before, only partially symbolic variables have been concretized. Now, every object that is not fully concrete is concretized correctly this includes fully symbolic objects. | |||
2024-02-29 | Correctly update symbolic variables that have been changed externally | Martin Nowack | |
Before, external changes to symbolic variables have not been propagated back to their internal representation. Do a byte-by-byte comparison and update object state if required. | |||
2024-02-27 | Small refactorings and reformatting in callExternalFunction | Cristian Cadar | |
2024-02-27 | Simplified callExternalFunction by using toConstant instead of getValue | Cristian Cadar | |
2024-02-27 | Extend toConstant() to take an additional boolean argument that decides ↵ | Cristian Cadar | |
whether the expression is concretised. Also changed a C string argument to std::string. | |||
2024-02-27 | This commit fixes the concretization of arguments following an external call ↵ | Cristian Cadar | |
with symbolic arguments. It also introduces a new external call policy, where the symbolic inputs are left unconstrained following such a call, useful for certain external calls such as printf. | |||
2024-02-19 | Rename --ptree-batch-size to --exec-tree-batch size, and ↵ | Cristian Cadar | |
--compress-execution-tree to --compress-exec-tree. Fix an incorrect reference to --write-exec-tree. | |||
2024-02-17 | Fixed incorrect reference in ExternalCallWarnings | Cristian Cadar | |
2024-02-16 | drop llvm 9 and 10 | Daniel Schemmel | |
2024-02-08 | Mention default value in help text for `--strip-all` and `--strip-debug` | MartinNowack | |
Co-authored-by: Daniel Schemmel <danielschemmel@users.noreply.github.com> (cherry picked from commit 5d61fb6114bafbf67c59899d15e397684d4ceb28) | |||
2024-02-08 | Use `std::` namespace for `uint64_t` | MartinNowack | |
Co-authored-by: Daniel Schemmel <danielschemmel@users.noreply.github.com> (cherry picked from commit 5d9af025ee5a01b1650f11ed0612a10357a98308) | |||
2024-02-08 | Disable unsupported passes for newer LLVM versions | Martin Nowack | |
Similar functionality needs to be added using a new pass manager | |||
2024-02-08 | Add support to `aligned_alloc` generated by LLVM | Martin Nowack | |
Handle like `memalign` for now. | |||
2024-02-08 | Add support for `Intrinsic::get_rounding` for LLVM 16 | Martin Nowack | |
`Intrinsic::flt_rounds` got removed | |||
2024-02-08 | Use APIs of newer LLVM versions instead of unsupported ones | Martin Nowack | |
2024-02-08 | Add support for opaque pointers | Martin Nowack | |
2024-02-08 | Refactor invocation of old pass manager into legacy function | Martin Nowack | |
2024-01-30 | Change `GetConstraintLog` to work with `std::string`s instead of `char*`s | Daniel Schemmel | |
2024-01-30 | Avoid generating array names in solver builders that could accidently collide | Martin Nowack | |
If an array name ended with a number, adding a number-only suffix could generate the same name used as part of the solvers. In the specific testcase `val_1` became solver array `val_111` which collided with array `val_11` that became `val_111` as well. Using an `_` as prefix for the suffix, solves that problem in general, i.e. `val_1` becomes `val_1_11` and `val_11` becomes `val_11_1`. Fixes #1668 | |||
2024-01-30 | Modify getValueFromSeeds() to include more functionality and simplify its ↵ | Cristian Cadar | |
callers | |||
2024-01-30 | Make Assignment::evaluate be const | Cristian Cadar | |