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.
|
Year | DOI | Venue |
---|---|---|
2019 | 10.1109/ICSE.2019.00039 | Proceedings of the 41st International Conference on Software Engineering |
Keywords | Field | DocType |
path profiling, symbolic execution, tracing | Code coverage,Computer science,Profiling (computer programming),Real-time computing,Symbolic execution,Boosting (machine learning),Computer engineering,Stateless protocol,Tracing | Conference |
ISSN | ISBN | Citations |
0270-5257 | 978-1-7281-0870-4 | 1 |
PageRank | References | Authors |
0.36 | 26 | 6 |
Name | Order | Citations | PageRank |
---|---|---|---|
Richard Rutledge | 1 | 1 | 0.70 |
Sunjae Park | 2 | 1 | 0.70 |
Haider Khan | 3 | 4 | 1.06 |
Alessandro Orso | 4 | 3550 | 172.85 |
Milos Prvulovic | 5 | 926 | 54.94 |
Alenka G. Zajic | 6 | 378 | 36.93 |