AFGNN: API Misuse Detection using Graph Neural Networks and Clustering
This program is tentative and subject to change.
Application Programming Interfaces (APIs) are crucial to software development, enabling integration of existing systems with new applications by reusing tried and tested code, saving development time and increasing software safety. In particular, the Java standard library APIs, along with numerous third-party APIs, are extensively utilized in the development of enterprise application software. However, their misuse remains a significant source of bugs and vulnerabilities. Furthermore, due to the limited examples in the official API documentation, developers often rely on online portals and generative AI models to learn unfamiliar APIs, but using such examples may introduce unintentional errors in the software.
In this paper, we present AFGNN, a novel Graph Neural Network (GNN)-based framework for efficiently detecting API misuses in Java code. AFGNN uses a novel API Flow Graph (AFG) representation that captures the API execution sequence, data, and control flow information present in the code to model the API usage patterns. AFGNN uses self-supervised pre-training with AFG representation to effectively compute the embeddings for unknown API usage examples and cluster them to identify different usage patterns. Experiments on popular API usage datasets show that AFGNN significantly outperforms state-of-the-art small language models and API misuse detectors.
This program is tentative and subject to change.
Tue 14 AprDisplayed time zone: Brasilia, Distrito Federal, Brazil change
14:00 - 15:30 | |||
14:00 10mTalk | How are MLOps Frameworks Used in Open Source Projects? An Empirical Characterization Technical Papers Fiorella Zampetti University of Sannio, Italy, Federico Stocchetti University of Sannio, Italy, Federica Razzano University of Sannio, Italy, Damian Andrew Tamburri University of Sannio - JADS/NXP Semiconductors, Massimiliano Di Penta University of Sannio, Italy Pre-print | ||
14:10 10mTalk | Do We Agree on What an “Audit” Is? Toward Standardized Smart Contract Audit Reporting Technical Papers Ilham Qasse Reykjavik University, Mohammad Hamdaqa Polytechnique Montreal, Gísli Hjálmtýsson Reykjavik University | ||
14:20 10mTalk | AFGNN: API Misuse Detection using Graph Neural Networks and Clustering Technical Papers Ponnampalam Pirapuraj IIT Hyderabad, Tamal Mondal Oracle, Sharanya Gupta Yokogawa Digital, Akash Lal Microsoft Research, Somak Aditya IIT Kharagpur, Jyothi Vedurada IIT Hyderabad | ||
14:30 10mTalk | An Empirical Analysis of Cross-OS Portability Issues in Python Projects Technical Papers Denini Silva Federal University of Pernambuco, MohamadAli Farahat North Carolina State University, Marcelo d'Amorim North Carolina State University Pre-print | ||
14:40 10mTalk | Learning Compiler Fuzzing Mutators from Historical Bugs Technical Papers Lingjun Liu North Carolina State University, Feiran Qin North Carolina State University, Owolabi Legunsen Cornell University, Marcelo d'Amorim North Carolina State University | ||
14:50 40mMeeting | Mining Challenge Finalists MSR Program | ||