Minimum Coverage Instrumentation
Li Chen, Ellis Hoag, Kyungwoo Lee, Julian Mestre, Sergey Pupyrev

TL;DR
This paper introduces an optimal algorithm for minimal instrumentation in control-flow graphs to infer block coverage efficiently, reducing overhead in profile-guided optimizations.
Contribution
It presents the first optimal algorithm for minimum coverage instrumentation in control-flow graphs, enabling efficient coverage inference with minimal added code.
Findings
Optimal $O(|E|)$ time algorithm for block coverage inference.
Extension to edge coverage and edge instrumentation variants.
Reduces overhead in profile-guided optimization processes.
Abstract
Modern compilers leverage block coverage profile data to carry out downstream profile-guided optimizations to improve the runtime performance and the size of a binary. Given a control-flow graph of a function in the binary, where nodes in correspond to basic blocks (sequences of instructions that are always executed sequentially) and edges in represent jumps in the control flow, the goal is to know for each block whether was executed during a session. To this end, extra instrumentation code that records when a block is executed needs to be added to the binary. This extra code creates a time and space overhead, which one would like to minimize as much as possible. Motivated by this application, we study the Minimum Coverage Instrumentation problem, where the goal is to find a minimum size subset of blocks to instrument such that the coverage of the…
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 · Machine Learning and Algorithms · Adversarial Robustness in Machine Learning
