kirancodes.me
To Proof Maintenance & Beyond!

Zero-overhead path prediction with progressive symbolic execution

Richard Rutledge, Sunjae Park, Haider Adnan Khan, Alessandro Orso, Milos Prvulovic, Alenka G. Zajic

Abstract

In previous work, we introduced zero-overhead profiling (ZOP), a technique that leverages the electromagnetic emissions generated by the computer hardware to profile a program without instrumenting it. Although effective, ZOP has several shortcomings: it requires test inputs that achieve extensive code coverage for its training phase; it predicts path profiles instead of complete execution traces; and its predictions can suffer unrecoverable accuracy losses. In this paper, we present zero-overhead path prediction (ZOP-2), an approach that extends ZOP and addresses its limitations. First, ZOP-2 achieves high coverage during training through progressive symbolic execution (PSE)-symbolic execution of increasingly small program fragments. Second, ZOP-2 predicts complete execution traces, rather than path profiles. Finally, ZOP-2 mitigates the problem of path mispredictions by using a stateless approach that can recover from prediction errors. We evaluated our approach on a set of benchmarks with promising results; for the cases considered, (1) ZOP-2 achieved over 90% path prediction accuracy, and (2) PSE covered feasible paths missed by traditional symbolic execution, thus boosting ZOP-2's accuracy.

BibTeX
@inproceedings{Rutledge-al:ICSE19,
  author    = {Richard Rutledge and
               Sunjae Park and
               Haider Adnan Khan and
               Alessandro Orso and
               Milos Prvulovic and
               Alenka G. Zajic},
  title     = {Zero-overhead path prediction with progressive symbolic execution},
  booktitle = {ICSE},
  pages     = {234--245},
  publisher = {{IEEE} / {ACM}},
  year      = {2019},
}

Related papers