Large Language Models for Test-Free Fault Localization
2023/10/03 by Yang, Aidan Z. H., Martins, Ruben, Goues, Claire Le +1 · 27 citations
#FOS: Computer and information sciences #Machine Learning (cs.LG) #Software Engineering (cs.SE)
paper · doi:10.48550/arxiv.2310.01726
Abstract
Fault Localization (FL) aims to automatically localize buggy lines of code, a key first step in many manual and automatic debugging tasks. Previous FL techniques assume the provision of input tests, and often require extensive program analysis, program instrumentation, or data preprocessing. Prior work on deep learning for APR struggles to learn from small datasets and produces limited results on real-world programs. Inspired by the ability of large language models (LLMs) of code to adapt to new tasks based on very few examples, we investigate the applicability of LLMs to line level fault localization. Specifically, we propose to overcome the left-to-right nature of LLMs by fine-tuning a small set of bidirectional adapter layers on top of the representations learned by LLMs to produce LLMAO, the first language model based fault localization approach that locates buggy lines of code without any test coverage information. We fine-tune LLMs with 350 million, 6 billion, and 16 billion parameters on small, manually curated corpora of buggy programs such as the Defects4J corpus. We observe that our technique achieves substantially more confidence in fault localization when built on the larger models, with bug localization performance scaling consistently with the LLM size. Our empirical evaluation shows that LLMAO improves the Top-1 results over the state-of-the-art machine learning fault localization (MLFL) baselines by 2.3%-54.4%, and Top-5 results by 14.4%-35.6%. LLMAO is also the first FL technique trained using a language model architecture that can detect security vulnerabilities down to the code line level.
Cited by
- Precise Debugging Benchmark: Is Your Model Debugging or Regenerating?
- WhatsCode: Large-Scale GenAI Deployment for Developer Efficiency at WhatsApp
- VulnLLM-R: Specialized Reasoning LLM with Agent Scaffold for Vulnerability Detection
- Generative AI for Self-Adaptive Systems: State of the Art and Research Roadmap
- Exploring the Potential and Limitations of Large Language Models for Novice Program Fault Localization
- Framework-Aware Code Generation with API Knowledge Graph-Constructed Data: A Study on HarmonyOS
- FLIMs: Fault Localization Interference Mutants, Definition, Recognition and Mitigation
- Time Travel: LLM-Assisted Semantic Behavior Localization with Git Bisect
- Large Language Models for Fault Localization: An Empirical Study
- Learning to Triage Taint Flows Reported by Dynamic Program Analysis in Node.js Packages
- One Bug, Hundreds Behind: LLMs for Large-Scale Bug Discovery
- OpenDerisk: An Industrial Framework for AI-Driven SRE, with Design, Implementation, and Case Studies
- What Slows Down FMware Development? An Empirical Study of Developer Challenges and Resolution Times
- SLEAN: Simple Lightweight Ensemble Analysis Network for Multi-Provider LLM Coordination: Design, Implementation, and Vibe Coding Bug Investigation Case Study
- Past, Present, and Future of Bug Tracking in the Generative AI Era
- Traceability and Accountability in Role-Specialized Multi-Agent LLM Pipelines
- Syn-Diag: An LLM-based Synergistic Framework for Generalizable Few-shot Fault Diagnosis on the Edge
- From Trace to Line: LLM Agent for Real-World OSS Vulnerability Localization
- Explainable Fault Localization for Programming Assignments via LLM-Guided Annotation
- Extracting Conceptual Knowledge to Locate Software Issues
- Enhancing LLM-based Fault Localization with a Functionality-Aware Retrieval-Augmented Generation Framework
- Security smells in infrastructure as code: a taxonomy update beyond the seven sins
- Crash Report Enhancement with Large Language Models: An Empirical Study
- Large Language Models for Security Operations Centers: A Comprehensive Survey
- Dynamic Vulnerability Patching for Heterogeneous Embedded Systems Using Stack Frame Reconstruction
- SWE-Debate: Competitive Multi-Agent Debate for Software Issue Resolution
- SLICEMATE: Accurate and Scalable Static Program Slicing via LLM-Powered Agents
Related