LLMDFA: Analyzing Dataflow in Code with Large Language Models
원문 초록
Dataflow analysis is a fundamental code analysis technique that identifies dependencies between program values. Traditional approaches typically necessitate successful compilation and expert customization, hindering their applicability and usability for analyzing uncompilable programs with evolving analysis needs in real-world scenarios. This paper presents LLMDFA, an LLM-powered compilation-free and customizable dataflow analysis framework. To address hallucinations for reliable results, we decompose the problem into several subtasks and introduce a series of novel strategies. Specifically, we leverage LLMs to synthesize code that outsources delicate reasoning to external expert tools, such as using a parsing library to extract program values of interest and invoking an automated theorem prover to validate path feasibility. Additionally, we adopt a few-shot chain-of-thought prompting to summarize dataflow facts in individual functions, aligning the LLMs with the program semantics of small code snippets to mitigate hallucinations. We evaluate LLMDFA on synthetic programs to detect three representative types of bugs and on real-world Android applications for customized bug detection. On average, LLMDFA achieves 87.10% precision and 80.77% recall, surpassing existing techniques with F1 score improvements of up to 0.35. We have open-sourced LLMDFA at https://github.com/chengpeng-wang/LLMDFA.
함께 살펴볼 논문
공통 태그를 근거로 연결했습니다. 실제 인용 관계나 논문의 우수성을 뜻하지 않습니다.
Mitigating Object Hallucinations via Sentence-Level Early Intervention
UQLM: A Python Package for Uncertainty Quantification in Large Language Models
Mitigating Hallucination of Large Vision-Language Models via Dynamic Logits Calibration
KnowRL: Exploring Knowledgeable Reinforcement Learning for Factuality
DiscoSG: Towards Discourse-Level Text Scene Graph Parsing through Iterative Graph Refinement
Abstract Meaning Representation for Hospital Discharge Summarization
토론
이 논문과 연결된 포럼 글이 아직 없습니다.