Repository navigation
Conversation
…replace sliced expressions
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
|
The thing that this needs in order to be merged is tests and a better docstring, as I struggled for about 15min to understand the intended purpose of this function. Of course, please also fix the failing CI passes. As an aside, I will admit I have never found need of anything like this in my decade of working with angr and claripy - we have found that this sort of approach for constructing a memory model (I assume this is what you're doing?) is prohibitively slow and instead we use MemoryObjects in angr to denote which bytes of memory are sourced from which slices (lazily computed) of the stored data. |
|
The easiest way to get the pre-commit check to pass is to |
|
Actually you're right and the reason that I need this function is to create my own backwards slicing algorithm which does not rely on emulated CFGs. |
|
I'm fine with taking this PR since not every implementation of a memory model needs to be optimized for speed. |
|
is_true_under_csts I added some tests by the way. |
…hat if size after replacement changes, slices before replacement dislocates.
It will save lots of developers' time since it's really hard to perform replacements for sliced old expressions without using this algorithm.