Knowledge-Enhanced Program Repair for Data Science Code
Shuyin Ouyang, Jie M. Zhang, Zeyu Sun, Albert Merono Penuela
TL;DR
DSrepair tackles the challenge of repairing data science code generated by LLMs by integrating knowledge graph–based API retrieval with AST-guided bug localization. It constructs DS-KG to capture API usage across seven major libraries and enriches repair prompts with API knowledge and AST-localized bug context. Empirical results on the DS-1000 benchmark show that DSrepair outperforms five baselines across four LLMs, achieving higher fix rates and lower token costs, and it demonstrates robustness to LLM non-determinism. The work contributes a DS-KG resource, an AST-based bug enrichment approach, and a generalizable retrieval-augmented repair framework that improves reliability and efficiency for data science code repair with potential extension to broader domains.
Abstract
This paper introduces DSrepair, a knowledge-enhanced program repair method designed to repair the buggy code generated by LLMs in the data science domain. DSrepair uses knowledge graph based RAG for API knowledge retrieval as well as bug knowledge enrichment to construct repair prompts for LLMs. Specifically, to enable knowledge graph based API retrieval, we construct DS-KG (Data Science Knowledge Graph) for widely used data science libraries. For bug knowledge enrichment, we employ an abstract syntax tree (AST) to localize errors at the AST node level. DSrepair's effectiveness is evaluated against five state-of-the-art LLM-based repair baselines using four advanced LLMs on the DS-1000 dataset. The results show that DSrepair surpasses all five baselines. Specifically, when compared to the second-best baseline, DSrepair demonstrates significant improvements, fixing 44.4%, 14.2%, 20.6%, and 32.1% more buggy code snippets for each of the four evaluated LLMs, respectively. Additionally, it achieves greater efficiency, reducing the number of tokens required per code task by 17.49%, 34.24%, 24.71%, and 17.59%, respectively.
