Back to Search Start Over

When Dataflow Analysis Meets Large Language Models

Authors :
Wang, Chengpeng
Zhang, Wuqi
Su, Zian
Xu, Xiangzhe
Xie, Xiaoheng
Zhang, Xiangyu
Publication Year :
2024

Abstract

Dataflow analysis is a powerful code analysis technique that reasons dependencies between program values, offering support for code optimization, program comprehension, and bug detection. Existing approaches require the successful compilation of the subject program and customizations for downstream applications. This paper introduces LLMDFA, an LLM-powered dataflow analysis framework that analyzes arbitrary code snippets without requiring a compilation infrastructure and automatically synthesizes downstream applications. Inspired by summary-based dataflow analysis, LLMDFA decomposes the problem into three sub-problems, which are effectively resolved by several essential strategies, including few-shot chain-of-thought prompting and tool synthesis. Our evaluation has shown that the design can mitigate the hallucination and improve the reasoning ability, obtaining high precision and recall in detecting dataflow-related bugs upon benchmark programs, outperforming state-of-the-art (classic) tools, including a very recent industrial analyzer.<br />Comment: 15 pages, 16 figures, 5 tables

Details

Database :
arXiv
Publication Type :
Report
Accession number :
edsarx.2402.10754
Document Type :
Working Paper