論文の概要: BugSpotter: Automated Generation of Code Debugging Exercises
- arxiv url: http://arxiv.org/abs/2411.14303v2
- Date: Mon, 25 Nov 2024 08:31:00 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-11-26 14:24:30.937703
- Title: BugSpotter: Automated Generation of Code Debugging Exercises
- Title(参考訳): BugSpotter: コードデバッグエクササイズの自動生成
- Authors: Victor-Alexandru Pădurean, Paul Denny, Adish Singla,
- Abstract要約: 本稿では,問題記述からバグコードを生成するツールであるBugSpotterを紹介する。
学生は失敗するテストケースを設計することでBugSpotterと対話する。
- 参考スコア(独自算出の注目度): 22.204802715829615
- License:
- Abstract: Debugging is an essential skill when learning to program, yet its instruction and emphasis often vary widely across introductory courses. In the era of code-generating large language models (LLMs), the ability for students to reason about code and identify errors is increasingly important. However, students frequently resort to trial-and-error methods to resolve bugs without fully understanding the underlying issues. Developing the ability to identify and hypothesize the cause of bugs is crucial but can be time-consuming to teach effectively through traditional means. This paper introduces BugSpotter, an innovative tool that leverages an LLM to generate buggy code from a problem description and verify the synthesized bugs via a test suite. Students interact with BugSpotter by designing failing test cases, where the buggy code's output differs from the expected result as defined by the problem specification. This not only provides opportunities for students to enhance their debugging skills, but also to practice reading and understanding problem specifications. We deployed BugSpotter in a large classroom setting and compared the debugging exercises it generated to exercises hand-crafted by an instructor for the same problems. We found that the LLM-generated exercises produced by BugSpotter varied in difficulty and were well-matched to the problem specifications. Importantly, the LLM-generated exercises were comparable to those manually created by instructors with respect to student performance, suggesting that BugSpotter could be an effective and efficient aid for learning debugging.
- Abstract(参考訳): デバッグはプログラミングを学ぶ上で必須のスキルであるが、その指導と強調は入門コースによって大きく異なることが多い。
コード生成大型言語モデル(LLM)の時代には、学生がコードについて推論し、エラーを特定する能力がますます重要になっている。
しかし、学生は根底にある問題を十分に理解することなく、しばしばバグを解決するために試行錯誤法を使う。
バグの原因を特定し仮説を立てる能力は不可欠ですが、従来の方法で効果的に教えるのに時間がかかります。
本稿では,LLMを活用する革新的なツールであるBugSpotterを紹介し,問題記述からバグコードを生成し,テストスイートを通じて合成したバグを検証する。
学生は失敗するテストケースを設計することでBugSpotterと対話する。
これは、生徒がデバッグスキルを高めるだけでなく、読み書きや問題仕様の理解を実践する機会を提供する。
我々は,BugSpotterを大規模な教室環境に配置し,BugSpotterが生成したデバッグ演習を,インストラクターが手作りした演習と比較した。
その結果, BugSpotter による LLM 生成エクササイズは困難であり, 問題仕様に適合していることが判明した。
重要なことは、LLMの生成したエクササイズは、学生のパフォーマンスに関してインストラクターが手作業で作成したものに匹敵するものであり、BugSpotterはデバッグを学ぶのに効果的で効率的な助けになり得ることを示唆している。
関連論文リスト
- Effective Large Language Model Debugging with Best-first Tree Search [27.68711322875045]
大きな言語モデル(LLM)は、コード生成タスクの約束を示す。
LLMはバグの発見と修正を一貫して行うことはできない。
本研究では,LLMが自己回帰と探索によってコードをデバッグするアルゴリズムを提案する。
論文 参考訳(メタデータ) (2024-07-26T19:26:00Z) - A Proposal for a Debugging Learning Support Environment for Undergraduate Students Majoring in Computer Science [0.0]
生徒はデバッガの使い方を知らないし、使ったこともない。
我々は,正しいブレークポイント配置の自己学習を可能にする機能をScratchに実装した。
論文 参考訳(メタデータ) (2024-07-25T03:34:19Z) - Instruct, Not Assist: LLM-based Multi-Turn Planning and Hierarchical Questioning for Socratic Code Debugging [27.70379206820154]
ソクラテス質問は効果的な教育戦略であり、批判的思考と問題解決を奨励する。
TreeInstructは、学生が個別にエラーを特定し、解決するのを助けるために、探索的な質問をする。
学生の概念的・統語的知識を推定し、その反応と現在の知識状態に基づいて質問ツリーを動的に構築する。
論文 参考訳(メタデータ) (2024-06-17T16:28:21Z) - Leveraging Print Debugging to Improve Code Generation in Large Language
Models [63.63160583432348]
大規模言語モデル(LLM)はコード生成タスクにおいて大きな進歩を遂げた。
しかし、複雑なデータ構造やアルゴリズムによるプログラミング問題に対処する彼らのパフォーマンスは、依然として準最適である。
そこで本稿では,LLM のデバッグを "print debugging" 手法でガイドする,コンテキスト内学習手法を提案する。
論文 参考訳(メタデータ) (2024-01-10T18:37:59Z) - DebugBench: Evaluating Debugging Capability of Large Language Models [80.73121177868357]
DebugBench - LLM(Large Language Models)のベンチマーク。
C++、Java、Pythonの4つの主要なバグカテゴリと18のマイナータイプをカバーする。
ゼロショットシナリオで2つの商用および4つのオープンソースモデルを評価する。
論文 参考訳(メタデータ) (2024-01-09T15:46:38Z) - How to Teach Programming in the AI Era? Using LLMs as a Teachable Agent for Debugging [28.321080454393687]
大規模言語モデル(LLM)は、生成スキルに優れ、実行不可能な速度でコンテンツを作成することができる。
人間の初心者は、教師アシスタントの役割を担い、LLMで教えられるエージェントのコードを支援する。
そこで我々は,人間の初心者が指導アシスタントの役割を担い,LLMを利用した学習エージェントのコード作成を支援する,デバッグの意図的な実践を促進する新しいシステムであるPhyを紹介した。
論文 参考訳(メタデータ) (2023-10-08T21:39:47Z) - NuzzleBug: Debugging Block-Based Programs in Scratch [11.182625995483862]
NuzzleBugは、人気のあるブロックベースのプログラミング環境であるScratchの拡張である。
これは、実行について質問し、回答を提供することができる尋問デバッガである。
教師はNuzzleBugが有用であると考えており、子どもたちはプログラムの欠陥を効果的にデバッグすることができる。
論文 参考訳(メタデータ) (2023-09-25T18:56:26Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - Using Developer Discussions to Guide Fixing Bugs in Software [51.00904399653609]
我々は,タスク実行前に利用可能であり,また自然発生しているバグレポートの議論を,開発者による追加情報の必要性を回避して利用することを提案する。
このような議論から派生したさまざまな自然言語コンテキストがバグ修正に役立ち、オラクルのバグ修正コミットに対応するコミットメッセージの使用よりもパフォーマンスの向上につながることを実証する。
論文 参考訳(メタデータ) (2022-11-11T16:37:33Z) - ProtoTransformer: A Meta-Learning Approach to Providing Student Feedback [54.142719510638614]
本稿では,フィードバックを数発の分類として提供するという課題について考察する。
メタラーナーは、インストラクターによるいくつかの例から、新しいプログラミング質問に関する学生のコードにフィードバックを与えるように適応します。
本手法は,第1段階の大学が提供したプログラムコースにおいて,16,000名の学生試験ソリューションに対するフィードバックの提供に成功している。
論文 参考訳(メタデータ) (2021-07-23T22:41:28Z) - Measuring Coding Challenge Competence With APPS [54.22600767666257]
コード生成のベンチマークであるAPPSを紹介する。
私たちのベンチマークには1万の問題が含まれています。
GPT-Neoのような最近のモデルでは、導入問題のテストケースの約15%をパスできる。
論文 参考訳(メタデータ) (2021-05-20T17:58:42Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。