Home > Research > Publications & Outputs > CodeAgent

Electronic data

  • pdf

    Final published version, 11.1 MB, PDF document


View graph of relations

CodeAgent: Collaborative Agents for Software Engineering

Research output: Working paperPreprint

  • Daniel Tang
  • Zhenghan Chen
  • Kisub Kim
  • Yewei Song
  • Haoye Tian
  • Saad Ezzini
  • Yongfeng Huang
  • Jacques Klein
  • Tegawende F. Bissyande
Publication date15/02/2024
<mark>Original language</mark>English


Code review is a heavily collaborative process, which aims at ensuring the overall quality and reliability of software. While it provides massive benefits, the implementation of code review in an organization faces several challenges that make its automation appealing. Automated code review tools have been around for a while and are now improving thanks to the adoption of novel AI models, which help can learn about standard practices and systematically check that the reviewed code adheres to them. Unfortunately, existing methods fall short: they often target a single input-output generative model, which cannot simulate the collaboration interactions in code review to account for various perspectives; they are also sub-performing on various critical code review sub-tasks. In this paper, we advance the state of the art in code review automation by introducing CodeAgent, a novel multi-agent-based system for code review. Fundamentally, CodeAgent is steered by QA-Checker (short for "Question-Answer Checking"), a supervision agent, designed specifically to ensure that all agents' contributions remain relevant to the initial review question. CodeAgent is autonomous, multi-agent, and Large language model-driven. To demonstrate the effectiveness of CodeAgent, we performed experiments to assess its capabilities in various tasks including 1) detection of inconsistencies between code changes and commit messages, 2) detection of vulnerability introduction by commits, and 3) validation of adherence to code style. Our website is accessed in \url{https://code-agent-new.vercel.app/index.html}.