paper-with-me

Papers

Combining Large Language Models with Static Analyzers for Code Review Generation

2025-02-10 · Imen Jaoua, Oussama Ben Sghaier, Houari Sahraoui

Code review is a crucial but often complex, subjective, and time-consuming activity in software development. Over the past decades, significant efforts have been made to automate this process. Early approaches focused on knowledge-based systems (KBS) that apply rule-based mechanisms to detect code issues, providing precise feedback but struggling with complex, context-dependent cases. More recent work has shifted toward fine-tuning pre-trained language models for code review, enabling broader issue coverage but often at the expense of precision. In this paper, we propose a hybrid approach that combines the strengths of KBS and learning-based systems (LBS) to generate high-quality, comprehensive code reviews. Our method integrates knowledge at three distinct stages of the language model pipeline: during data preparation (Data-Augmented Training, DAT), at inference (Retrieval-Augmented Generation, RAG), and after inference (Naive Concatenation of Outputs, NCO). We empirically evaluate our combination strategies against standalone KBS and LBS fine-tuned on a real-world dataset. Our results show that these hybrid strategies enhance the relevance, completeness, and overall quality of review comments, effectively bridging the gap between rule-based tools and deep learning models.

📄 PDF Abstract BibTeX arXiv:2502.06633

Code (1)

imenjaoua/hybrid-code-review 공식 구현

Tasks

RAGRetrieval-augmented GenerationReview Generation

Similar Papers 제목 키워드 기반

Can Large Language Models Find And Fix Vulnerable Software?

2023-08-20 · David Noever

In this study, we evaluated the capability of Large Language Models (LLMs), particularly OpenAI's GPT-4, in detecting software vulnerabilities, comparing their performance against traditional static code analyzers like S…

KNighter: Transforming Static Analysis with LLM-Synthesized Checkers

2025-03-12 · Chenyuan Yang, Zijie Zhao, Zichen Xie, Haoyu Li 외

Static analysis is a powerful technique for bug detection in critical systems like operating system kernels. However, designing and implementing static analyzers is challenging, time-consuming, and typically limited to p…

CASTLE: Benchmarking Dataset for Static Code Analyzers and LLMs towards CWE Detection

2025-03-12 · Richard A. Dubniczky, Krisztofer Zoltán Horvát, Tamás Bisztray, Mohamed Amine Ferrag 외

Identifying vulnerabilities in source code is crucial, especially in critical software components. Existing methods such as static analysis, dynamic analysis, formal verification, and recently Large Language Models are w…

BenchmarkingCode ClassificationCode CompletionVulnerability Detection

Agentic Interpretation: Lattice-Structured Evidence for LLM-Based Program Analysis

2026-05-12 · Jacqueline L. Mitchell, Chao Wang arxiv

Large language models can consult information that fixed static analyzers cannot, such as documentation, current security advisories, version-specific metadata, and informal API contracts. This makes LLMs a compelling op…

Learning a Static Analyzer from Data

2016-11-06 · Pavol Bielik, Veselin Raychev, Martin Vechev

To be practically useful, modern static analyzers must precisely model the effect of both, statements in the programming language as well as frameworks used by the program under analysis. While important, manually addres…