KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repair

要約

タイトル:KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repair

要約:

– 自動プログラム修復(APR)は、バグのあるプログラムの修正にパッチを自動生成することで、ソフトウェアの信頼性を向上させます。
– 近年のAPR技術は、既存のパッチやコードコーパスからパッチを生成するためのモデルを構築するために、深層学習(DL)を利用しています。
– しかし、DLベースのAPR技術は、パッチ空間に多く存在する構文的または意味的に間違ったパッチに苦しんでいます。これらのパッチはしばしば、ソースコードの構文的および意味的なドメイン知識に従わず、バグ修正の正しいパッチではありえません。
– KNODというDLベースのAPRアプローチを提案しました。KNODは、直接的で包括的な方法でパッチ生成を導くドメイン知識を組み込みます。
– KNODには、Abstract Syntax Treesを直接生成する革新的な3段階のツリーデコーダーと、構文的および意味的なルールと教師-生徒分布を利用する新しいドメインルール蒸留があります。
– KNODは、3つの広く使用されているベンチマークで評価されました。Defects4J v1.2で72のバグを修正し、QuixBugsで25のバグを修正し、追加のDefects4J v2.0ベンチマークで50のバグを修正し、すべての既存のAPRツールを凌駕しています。

要約(オリジナル)

Automated Program Repair (APR) improves software reliability by generating patches for a buggy program automatically. Recent APR techniques leverage deep learning (DL) to build models to learn to generate patches from existing patches and code corpora. While promising, DL-based APR techniques suffer from the abundant syntactically or semantically incorrect patches in the patch space. These patches often disobey the syntactic and semantic domain knowledge of source code and thus cannot be the correct patches to fix a bug. We propose a DL-based APR approach KNOD, which incorporates domain knowledge to guide patch generation in a direct and comprehensive way. KNOD has two major novelties, including (1) a novel three-stage tree decoder, which directly generates Abstract Syntax Trees of patched code according to the inherent tree structure, and (2) a novel domain-rule distillation, which leverages syntactic and semantic rules and teacher-student distributions to explicitly inject the domain knowledge into the decoding procedure during both the training and inference phases. We evaluate KNOD on three widely-used benchmarks. KNOD fixes 72 bugs on the Defects4J v1.2, 25 bugs on the QuixBugs, and 50 bugs on the additional Defects4J v2.0 benchmarks, outperforming all existing APR tools.

arxiv情報

著者 Nan Jiang,Thibaud Lutellier,Yiling Lou,Lin Tan,Dan Goldwasser,Xiangyu Zhang
発行日 2023-04-16 20:29:38+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, OpenAI

カテゴリー: cs.AI, cs.SE パーマリンク