STEAM: Simulating the InTeractive BEhavior of ProgrAMmers for Automatic Bug Fixing

08/28/2023
by   Yuwei Zhang, et al.
0

Bug fixing holds significant importance in software development and maintenance. Recent research has made notable progress in exploring the potential of large language models (LLMs) for automatic bug fixing. However, existing studies often overlook the collaborative nature of bug resolution, treating it as a single-stage process. To overcome this limitation, we introduce a novel stage-wise framework named STEAM in this paper. The objective of STEAM is to simulate the interactive behavior of multiple programmers involved in various stages across the bug's life cycle. Taking inspiration from bug management practices, we decompose the bug fixing task into four distinct stages: bug reporting, bug diagnosis, patch generation, and patch verification. These stages are performed interactively by LLMs, aiming to imitate the collaborative abilities of programmers during the resolution of software bugs. By harnessing the collective contribution, STEAM effectively enhances the bug-fixing capabilities of LLMs. We implement STEAM by employing the powerful dialogue-based LLM – ChatGPT. Our evaluation on the widely adopted bug-fixing benchmark demonstrates that STEAM has achieved a new state-of-the-art level of bug-fixing performance.

READ FULL TEXT

page 1

page 4

page 5

page 6

page 8

page 10

research
06/03/2019

A Comprehensive Study on Deep Learning Bug Characteristics

Deep learning has gained substantial popularity in recent years. Develop...
research
11/11/2022

Using Developer Discussions to Guide Fixing Bugs in Software

Automatically fixing software bugs is a challenging task. While recent w...
research
07/21/2022

BigIssue: A Realistic Bug Localization Benchmark

As machine learning tools progress, the inevitable question arises: How ...
research
02/25/2020

Binary-level Directed Fuzzing for Use-After-Free Vulnerabilities

Directed fuzzing focuses on automatically testing specific parts of the ...
research
09/21/2020

Proposal of a Novel Bug Bounty Implementation Using Gamification

Despite significant popularity, the bug bounty process has remained broa...
research
12/12/2020

R-Hero: A Software Repair Bot based on Continual Learning

Software bugs are common and correcting them accounts for a significant ...
research
05/07/2019

Explainable Software Bot Contributions: Case Study of Automated Bug Fixes

In a software project, esp. in open-source, a contribution is a valuable...

Please sign up or login with your details

Forgot password? Click here to reset