Affiliation:
1. University of Athens, Greece / University of Malta, Malta
2. University of Athens, Greece
3. University of Malta, Malta
Abstract
Static analyses aspire to explore all possible executions in order to achieve soundness. Yet, in practice, they fail to capture common dynamic behavior. Enhancing static analyses with dynamic information is a common pattern, with tools such as Tamiflex. Past approaches, however, miss significant portions of dynamic behavior, due to native code, unsupported features (e.g., invokedynamic or lambdas in Java), and more. We present techniques that substantially counteract the unsoundness of a static analysis, with virtually no intrusion to the analysis logic. Our approach is reified in the HeapDL toolchain and consists in taking whole-heap snapshots during program execution, that are further enriched to capture significant aspects of dynamic behavior, regardless of the causes of such behavior. The snapshots are then used as extra inputs to the static analysis. The approach exhibits both portability and significantly increased coverage. Heap information under one set of dynamic inputs allows a static analysis to cover many more behaviors under other inputs. A HeapDL-enhanced static analysis of the DaCapo benchmarks computes 99.5% (median) of the call-graph edges of unseen dynamic executions (vs. 76.9% for the Tamiflex tool).
Funder
European Social Fund - Reach High
European Research Council
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
18 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Reducing Static Analysis Unsoundness with Approximate Interpretation;Proceedings of the ACM on Programming Languages;2024-06-20
2. Extensible and Scalable Architecture for Hybrid Analysis;Proceedings of the 12th ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis;2023-06-06
3. On Retrofitting Provenance for Transparent and Fair Software - Drivers and Challenges;2023 IEEE/ACM International Workshop on Equitable Data & Technology (FairWare);2023-05
4. Automatic inspection of program state in an uncooperative environment;Software: Practice and Experience;2022-08-31
5. A theory of monitors;Information and Computation;2021-12