論文の概要: Repairing Bugs in Python Assignments Using Large Language Models
- arxiv url: http://arxiv.org/abs/2209.14876v1
- Date: Thu, 29 Sep 2022 15:41:17 GMT
- ステータス: 処理完了
- システム内更新日: 2022-09-30 17:46:32.219479
- Title: Repairing Bugs in Python Assignments Using Large Language Models
- Title(参考訳): 大規模言語モデルを用いたPythonアサインメントのバグ修復
- Authors: Jialu Zhang, Jos\'e Cambronero, Sumit Gulwani, Vu Le, Ruzica Piskac,
Gustavo Soares, Gust Verbruggen
- Abstract要約: 本稿では,プログラム代入のためのAPRシステムを構築するために,コード上で訓練された大規模言語モデルを提案する。
本システムでは,複数モーダルプロンプト,反復クエリ,テストケースベースの数ショット選択,プログラムチャンキングを組み合わせることで,構文的および意味的誤りを解消することができる。
我々は,286の実際の学生プログラム上でMMAPRを評価し,最新のPython構文修復エンジン,BIFI,最新のPython意味修復エンジンを組み合わせたベースラインであるRefactoryと比較した。
- 参考スコア(独自算出の注目度): 9.973714032271708
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Students often make mistakes on their introductory programming assignments as
part of their learning process. Unfortunately, providing custom repairs for
these mistakes can require a substantial amount of time and effort from class
instructors. Automated program repair (APR) techniques can be used to
synthesize such fixes. Prior work has explored the use of symbolic and neural
techniques for APR in the education domain. Both types of approaches require
either substantial engineering efforts or large amounts of data and training.
We propose to use a large language model trained on code, such as Codex, to
build an APR system -- MMAPR -- for introductory Python programming
assignments. Our system can fix both syntactic and semantic mistakes by
combining multi-modal prompts, iterative querying, test-case-based selection of
few-shots, and program chunking. We evaluate MMAPR on 286 real student programs
and compare to a baseline built by combining a state-of-the-art Python syntax
repair engine, BIFI, and state-of-the-art Python semantic repair engine for
student assignments, Refactory. We find that MMAPR can fix more programs and
produce smaller patches on average.
- Abstract(参考訳): 学生は学習プロセスの一部として、入門的なプログラミング課題に間違いを犯すことが多い。
残念ながら、これらのミスに対してカスタムの修理を行うには、クラスインストラクターによるかなりの時間と労力が必要になる。
自動プログラム修復(APR)技術は、そのような修正を合成するために使用できる。
これまでの研究は、教育領域におけるAPRの象徴的および神経的テクニックの使用を探求してきた。
どちらのアプローチも、相当なエンジニアリング努力または大量のデータとトレーニングを必要とする。
我々は、Codexのようなコードで訓練された大規模な言語モデルを用いて、Pythonプログラミングの入門にAPRシステム(MMAPR)を構築することを提案する。
本システムでは,複数モーダルプロンプト,反復クエリ,テストケースベースの数ショット選択,プログラムチャンキングを組み合わせることで,構文的および意味的誤りを解消することができる。
我々は,286の実際の学生プログラム上でMMAPRを評価し,最新のPython構文修復エンジン,BIFI,最新のPython意味修復エンジンを組み合わせたベースラインであるRefactoryと比較した。
MMAPRはより多くのプログラムを修正でき、平均して小さなパッチを作成できる。
関連論文リスト
- AI Coders Are Among Us: Rethinking Programming Language Grammar Towards Efficient Code Generation [14.831115535710692]
私たちはSimple Python(SimPy)という,Pythonの最初のAI指向文法を実装しました。
オリジナルのPythonと比較して、SimPyはトークン使用量を13.5%削減し、CodeLlamaとGPT-4は10.4%削減した。
論文 参考訳(メタデータ) (2024-04-25T04:46:02Z) - A Novel Approach for Automatic Program Repair using Round-Trip
Translation with Large Language Models [50.86686630756207]
研究によると、ある文の文法的誤りは、それを他の言語に翻訳し、その語を返せば修正できる。
現在の自動プログラム修復(APR)生成モデルは、ソースコードで事前訓練され、修正のために微調整されている。
本稿では,あるプログラミング言語から別のプログラミング言語,あるいは自然言語へのコード変換,そして,その逆といった,微調整ステップをバイパスし,ラウンド・トリップ変換(RTT)を用いる手法を提案する。
論文 参考訳(メタデータ) (2024-01-15T22:36:31Z) - How Helpful do Novice Programmers Find the Feedback of an Automated
Repair Tool? [1.2990666399718034]
自動修復ツールであるCLARAを使って初心者にフィードバックを提供する経験について述べる。
まず、私たちはCLARAを拡張してPython言語のより大きなサブセットをサポートし、それからプログラミング演習に使用するJupyter Notebooksと統合しました。
初心者は、しばしば、提案された修復を理解するのに苦労し、コンパイラ/解釈メッセージを理解するのがよく知られた課題であることがわかった。
論文 参考訳(メタデータ) (2023-10-02T07:45:56Z) - Repair Is Nearly Generation: Multilingual Program Repair with LLMs [9.610685299268825]
Codexのようなコード(LLMC)でトレーニングされた大規模言語モデルを利用した多言語修復エンジンであるRingを紹介する。
プログラマが手動でバグを修正する方法からインスピレーションを得て、修復をローカライズ、トランスフォーメーション、候補ランキングとして概念化するプロンプトベースの戦略が、最小限の努力で複数のドメインでのプログラムの修復に成功できることを示す。
論文 参考訳(メタデータ) (2022-08-24T16:25:58Z) - BigIssue: A Realistic Bug Localization Benchmark [89.8240118116093]
BigIssueは、現実的なバグローカライゼーションのためのベンチマークである。
実際のJavaバグと合成Javaバグの多様性を備えた一般的なベンチマークを提供する。
われわれは,バグローカライゼーションの最先端技術として,APRの性能向上と,現代の開発サイクルへの適用性の向上を期待している。
論文 参考訳(メタデータ) (2022-07-21T20:17:53Z) - problexity -- an open-source Python library for binary classification
problem complexity assessment [0.0]
分類問題の複雑性評価は、教師付き学習領域における多くのトピックの重要な要素である。
現在、問題複雑性尺度の計算を可能にする学術コミュニティで利用可能なツールは、C++とR言語のライブラリとしてのみ利用可能である。
本稿では,Python言語における22の複雑性尺度を推定するソフトウェアモジュールについて述べる。
論文 参考訳(メタデータ) (2022-07-14T07:32:15Z) - AVATAR: A Parallel Corpus for Java-Python Program Translation [77.86173793901139]
プログラム翻訳とは、ある言語から別の言語へソースコードを移行することを指す。
AVATARは9,515のプログラミング問題とそのソリューションをJavaとPythonという2つの人気のある言語で記述したものです。
論文 参考訳(メタデータ) (2021-08-26T05:44:20Z) - ProtoTransformer: A Meta-Learning Approach to Providing Student Feedback [54.142719510638614]
本稿では,フィードバックを数発の分類として提供するという課題について考察する。
メタラーナーは、インストラクターによるいくつかの例から、新しいプログラミング質問に関する学生のコードにフィードバックを与えるように適応します。
本手法は,第1段階の大学が提供したプログラムコースにおいて,16,000名の学生試験ソリューションに対するフィードバックの提供に成功している。
論文 参考訳(メタデータ) (2021-07-23T22:41:28Z) - Break-It-Fix-It: Unsupervised Learning for Program Repair [90.55497679266442]
我々は2つの重要なアイデアを持つ新しいトレーニング手法であるBreak-It-Fix-It (BIFI)を提案する。
批判者は、実際の悪い入力でフィクスダーの出力をチェックし、トレーニングデータに良い(固定された)出力を追加する。
これらのアイデアに基づいて、よりペア化されたデータを生成するために、ブレーカとフィクスチャを同時に使用しながら、繰り返し更新する。
BIFIは既存のメソッドより優れており、GitHub-Pythonで90.5%、DeepFixで71.7%の修正精度がある。
論文 参考訳(メタデータ) (2021-06-11T20:31:04Z) - OPFython: A Python-Inspired Optimum-Path Forest Classifier [68.8204255655161]
本稿では,OPFythonと表記されるPythonベースのOptimum-Path Forestフレームワークを提案する。
OPFythonはPythonベースのライブラリなので、C言語よりもフレンドリーな環境とプロトタイピングの作業スペースを提供する。
論文 参考訳(メタデータ) (2020-01-28T15:46:19Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。