Optimizing Binary Code Produced by Valgrind (Project Report on Virtual Execution Environments Course - AVExe)
Filipe Cabecinhas, Nuno Lopes, Renato Crisostomo, Luis Veiga

TL;DR
This paper identifies inefficiencies in Valgrind's code generation and proposes optimization techniques to improve the quality of the binary code it produces across different CPU architectures.
Contribution
The work introduces methods to detect and optimize sub-optimal code generated by Valgrind, enhancing its performance and portability.
Findings
Improved code efficiency in Valgrind's output
Enhanced cross-architecture compatibility
Reduction in execution overhead
Abstract
Valgrind is a widely used framework for dynamic binary instrumentation and its mostly known by its memcheck tool. Valgrind's code generation module is far from producing optimal code. In addition it has many backends for different CPU architectures, which difficults code optimization in an architecture independent way. Our work focused on identifying sub-optimal code produced by Valgrind and optimizing it.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Security and Verification in Computing · Embedded Systems Design Techniques
