kirancodes.me
To Proof Maintenance & Beyond!

Lares: LLM-driven Code Slice Semantic Search for Patch Presence Testing

Siyuan Li, Yaowen Zheng, Hong Li, Jingdong Guo, Chaopeng Dong, Chunpeng Yan, Weijie Wang, Yimo Ren, Limin Sun, Hongsong Zhu

Abstract

In modern software ecosystems, 1-day vulnerabilities pose significant security risks due to extensive code reuse. Identifying vulnerable functions in target binaries alone is insufficient; it is also crucial to determine whether these functions have been patched. Existing methods, however, suffer from limited usability and accuracy. They often depend on the compilation process to extract features, requiring substantial manual effort and failing for certain software. Moreover, they cannot reliably differentiate between code changes caused by patches or compilation variations.To overcome these limitations, we propose Lares, a scalable and accurate method for patch presence testing. Lares introduces Code Slice Semantic Search, which directly extracts features from the patch source code and identifies semantically equivalent code slices in the pseudocode of the target binary. By eliminating the need for the compilation process, Lares improves usability, while leveraging large language models (LLMs) for code analysis and SMT solvers for logical reasoning to enhance accuracy. Experimental results show that Lares achieves superior precision, recall, and usability. Furthermore, it is the first work to evaluate patch presence testing across optimization levels, architectures, and compilers. The datasets and source code used in this article are available at https://github.com/Siyuan-Li201/Lares.

BibTeX
@inproceedings{Li-al:ASE25,
  author    = {Siyuan Li and
               Yaowen Zheng and
               Hong Li and
               Jingdong Guo and
               Chaopeng Dong and
               Chunpeng Yan and
               Weijie Wang and
               Yimo Ren and
               Limin Sun and
               Hongsong Zhu},
  title     = {Lares: {LLM-driven} Code Slice Semantic Search for Patch Presence Testing},
  booktitle = {ASE},
  pages     = {919--931},
  publisher = {{IEEE}},
  year      = {2025},
}

Related papers