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 option to only save unique frames #40

Open
Rot127 opened this issue Dec 13, 2023 · 1 comment
Open

Add option to only save unique frames #40

Rot127 opened this issue Dec 13, 2023 · 1 comment

Comments

@Rot127
Copy link

Rot127 commented Dec 13, 2023

Depending on the binary, traces can become very big (>10GB).

Especially for binaries which have many loops with not too much different input and output data (e.g. hash algorithms) we could reduce the trace size by only adding unique frames.

This could reduce testing time for them and save space.

Simply hashing the frames content for comparison should be enough?

@ivg
Copy link
Member

ivg commented Dec 14, 2023

We might need something more fine-grained, as just dropping frames with the same contents might affect lots of innocent frames, e.g., rax := 0 is a pretty common frame, and we don't want to drop them everywhere. We might try some run-length encoding (RLE), i.e., if we see a repeating frame we can suppress it, until a new frame and then issue a repeat frame that says that the previous frame was repeated. To extend this to several frames we might buffer N frames in a queue and pack them in a subtrace (much like dynamorio does) and then issue repetition frames on subframes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants