kirancodes.me
To Proof Maintenance & Beyond!

AutoPruner: transformer-based call graph pruning

Thanh Le-Cong, Hong Jin Kang, Truong Giang Nguyen, Stefanus Agus Haryono, David Lo, Xuan-Bach Dinh Le, Huynh Quyet Thang

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.

BibTeX
@inproceedings{LeCong-al:FSE22,
  author    = {Thanh Le{-}Cong and
               Hong Jin Kang and
               Truong Giang Nguyen and
               Stefanus Agus Haryono and
               David Lo and
               Xuan{-}Bach Dinh Le and
               Huynh Quyet Thang},
  title     = {{AutoPruner:} transformer-based call graph pruning},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {520--532},
  publisher = {{ACM}},
  year      = {2022},
}

Related papers