Skip to content
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

Add path motion compensation #218

Open
MattWindsor91 opened this issue Sep 23, 2020 · 0 comments
Open

Add path motion compensation #218

MattWindsor91 opened this issue Sep 23, 2020 · 0 comments
Labels
Area:Fuzzer Specifically affecting the program mutator Type:Enhancement New feature or request

Comments

@MattWindsor91
Copy link
Collaborator

For both sophisticated reduction and path caching (#217), we could do with a way of saying 'how does the application, or revocation, of this action affect paths in other actions?'. To the best of my knowledge, this boils down to checking the effect of one path on another. For instance:

  • an insertion to index X in block B causes all references to indices from X downwards in block B to become indices to X+1;
  • revoking that insertion causes references to index X to invalidate, and everything below to decrement again;
  • list transformations cause any paths into the affected span to invalidate;
  • a transformation in block B1 doesn't affect indices in another block B2;

etc.

It should be eminently doable (though need some thought and/or theory!) to come up with some functions that calculate these path motions; then, we should be able to find a way to project them up and down a trace for reduction, and to update the cache for caching.

I imagine there'll need to be some functionality to try to work out the common subpath of two paths, and then some functionality to work out if the paths overlap from there, and so on and so forth. Sounds fun.

@MattWindsor91 MattWindsor91 added Type:Enhancement New feature or request Area:Fuzzer Specifically affecting the program mutator labels Sep 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area:Fuzzer Specifically affecting the program mutator Type:Enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant