Litcius/Paper detail

AutoPruner: transformer-based call graph pruning

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

2022Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering20 citationsDOIOpen Access PDF

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.

Topics & Concepts

Computer scienceCall graphFalse positive paradoxTheoretical computer scienceArtificial intelligenceGraphSource codeData miningMachine learningNatural language processingProgramming languageSoftware Engineering ResearchSoftware Testing and Debugging TechniquesAdvanced Malware Detection Techniques