SLICEMATE: Accurate and Scalable Static Program Slicing via LLM-Powered Agents

📅 2025-07-25
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Traditional static slicing relies on expensive dependency graph reachability analysis, limiting scalability to large or syntactically incomplete programs; learning-based approaches offer robustness but suffer from insufficient precision. This paper proposes SliceMate—the first LLM-powered multi-agent framework for static slicing—comprising synthesis, verification, and optimization agents. It eliminates dependency graph construction, enables inter-procedural and cross-file incremental scanning, and supports automatic repair. Key innovations include program dependency reasoning, dynamic scope expansion, and a joint completeness-conciseness verification mechanism, complemented by a convergence control module. Evaluated on SliceBench—a curated benchmark of 2,200 Java/Python programs—SliceMate significantly outperforms state-of-the-art tools, achieving precise slicing on programs up to 8,577 lines while unifying high accuracy with strong scalability.

Technology Category

Application Category

📝 Abstract
Static program slicing, which extracts the executable portions of a program that affect the values at a specific location, supports many software analysis tasks such as debugging and security auditing. However, traditional slicing tools rely on computationally expensive reachability analysis over dependency graphs, which struggle to scale to large programs and often fail to handle code with incomplete syntax. Recently emerged learning-based methods, while more robust to such cases, still fall short of achieving comparable performance to traditional methods on well-formed code. In this work, we propose SliceMate, a novel static program slicing solution powered by Large Language Model (LLM) agents. It bypasses the need for explicit dependency graph construction and achieving superior slicing accuracy. Concretely, SliceMate integrates three specialized agents: (1) a synthesis agent that produces candidate slices by incrementally expanding the scan scope across functions and files guided by LLM-inferred dependencies; (2) a verification agent that performs conciseness and completeness checks of the candidate slices, detecting missing or irrelevant statements; and (3) a refinement agent that repairs the slices with minimal edits in accordance with the verification results. These agents are orchestrated by a control module that ensures timely convergence and outputs high-quality slices without manual intervention. For rigorous evaluation, we construct a new and high-quality benchmark, SliceBench, comprising 2,200 manually annotated Java and Python programs, with program lengths ranging from 5 to 8,577 lines, significantly larger than those in existing slicing benchmarks. Experimental results show that SliceMate greatly outperforms both traditional and learning-based slicing tools.
Problem

Research questions and friction points this paper is trying to address.

Improves static program slicing accuracy using LLM-powered agents
Addresses scalability issues in traditional dependency graph methods
Handles incomplete syntax and large programs more effectively
Innovation

Methods, ideas, or system contributions that make the work stand out.

LLM-powered agents for static slicing
Three specialized agents: synthesis, verification, refinement
New benchmark SliceBench for rigorous evaluation
🔎 Similar Papers
No similar papers found.
J
Jianming Chang
Southeast University, Nanjing, China 211189
Jieke Shi
Jieke Shi
PhD Candidate & Research Engineer, Singapore Management University
Software EngineeringAI Software Testing
Yunbo Lyu
Yunbo Lyu
PhD Candidate, Singapore Management University
Software Engineering
X
Xin Zhou
Singapore Management University, Singapore 188065
Lulu Wang
Lulu Wang
Southeast University, Nanjing, China 211189
Z
Zhou Yang
University of Alberta, Edmonton AB T6G 2R3, Canada
B
Bixin Li
Southeast University, Nanjing, China 211189
D
David Lo
Singapore Management University, Singapore 188065