TL;DR
AutoPruner introduces a Transformer-based method that combines semantic and structural analysis to more accurately prune false positives in static call graphs, outperforming existing machine learning approaches.
Contribution
The paper presents AutoPruner, a novel call graph pruning technique that leverages Transformer-based semantic analysis combined with structural features for improved accuracy.
Findings
Outperforms state-of-the-art baselines in false positive detection
Improves F-measure by up to 13%
Effectively combines semantic and structural features
Abstract
Constructing a static call graph requires trade-offs between soundness and precision. Program analysis techniques for constructing call graphs are unfortunately usually imprecise. To address this problem, researchers have recently proposed call graph pruning empowered by machine learning to post-process call graphs constructed by static analysis. A machine learning model is built to capture information from the call graph by extracting structural features for use in a random forest classifier. It then removes edges that are predicted to be false positives. Despite the improvements shown by machine learning models, they are still limited as they do not consider the source code semantics and thus often are not able to effectively distinguish true and false positives. In this paper, we present a novel call graph pruning technique, AutoPruner, for eliminating false positives in call graphs…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
MethodsPruning
