論文の概要: RePurr: Automated Repair of Block-Based Learners' Programs
- arxiv url: http://arxiv.org/abs/2504.12445v1
- Date: Wed, 16 Apr 2025 19:22:51 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-04-18 14:38:24.388113
- Title: RePurr: Automated Repair of Block-Based Learners' Programs
- Title(参考訳): RePurr: ブロックベースの学習プログラムの自動修復
- Authors: Sebastian Schweikl, Gordon Fraser,
- Abstract要約: 進化探索に基づくScratchの最初のAPR手法を提案する。
我々のRePurrプロトタイプは、テストスイートのガイダンスを改善するために、新しい障害ローカライゼーションの洗練を含んでいる。
実学習者のプログラムに対する実証的な評価は、期待される課題を裏付けるものである。
- 参考スコア(独自算出の注目度): 10.540099048026496
- License:
- Abstract: Programming is increasingly taught using block-based languages like Scratch. While the use of blocks prevents syntax errors, learners can still make semantic mistakes, requiring feedback and help. As teachers may be overwhelmed by help requests in a classroom, may lack programming expertise themselves, or may be unavailable in independent learning scenarios, automated hint generation is desirable. Automated program repair (APR) can provide the foundation for this, but relies on multiple assumptions: (1) APR usually targets isolated bugs, but learners may fundamentally misunderstand tasks or request help for substantially incomplete code. (2) Software tests are required to guide the search and localize broken blocks, but tests for block-based programs are different to those in past APR research: They consist of system tests, and very few of them already fully cover the code. At the same time, they have vastly longer runtimes due to animations and interactions on Scratch programs, which inhibits the applicability of search. (3) The plastic surgery hypothesis assumes the code necessary for repairs already exists in the codebase. Block-based programs tend to be small and may lack this redundancy. To study if APR of such programs is still feasible, we introduce, to the best of our knowledge, the first APR approach for Scratch based on evolutionary search. Our RePurr prototype includes novel refinements of fault localization to improve the guidance of test suites, recovers the plastic surgery hypothesis by exploiting that learning scenarios provide model and student solutions, and reduces the costs of fitness evaluations via test parallelization and acceleration. Empirical evaluation on a set of real learners' programs confirms the anticipated challenges, but also demonstrates APR can still effectively improve and fix learners' programs, enabling automated generation of hints and feedback.
- Abstract(参考訳): プログラミングは、Scratchのようなブロックベースの言語を使って、ますます教えられている。
ブロックの使用は構文上のエラーを防ぐが、学習者は依然としてセマンティックなミスを犯し、フィードバックと助けを必要とする。
教師は教室でのヘルプリクエストに圧倒され、プログラミングの専門知識が不足したり、独立した学習シナリオでは利用できない場合があるため、自動ヒント生成が望ましい。
1) APRは通常、孤立したバグをターゲットにしているが、学習者は基本的にタスクを誤解したり、実質的に不完全なコードを要求することができる。
2) ブロックの探索とローカライズにはソフトウェアテストが必要であるが,ブロックベースのプログラムのテストは過去のAPR研究と異なる。
同時に、Scratchプログラムのアニメーションやインタラクションによる実行時間が大幅に長いため、検索の適用性が阻害される。
(3)修復に必要なコードはコードベースにすでに存在していると仮定する。
ブロックベースのプログラムは小さく、冗長性を欠く傾向がある。
このようなプログラムのAPRがまだ実現可能かどうかを調べるため、進化探索に基づくScratchの最初のAPRアプローチである、私たちの知る限りで紹介する。
我々のRePurrプロトタイプは、テストスイートのガイダンスを改善するために、新しい障害局所化の改善、学習シナリオがモデルと学生ソリューションを提供すること、テスト並列化とアクセラレーションによってフィットネス評価のコストを低減させることにより、プラスティックな手術仮説を復元する。
実学習者のプログラムの集合に対する実証的な評価は、期待される課題を裏付けるが、APRは学習者のプログラムを効果的に改善し、修正し、ヒントとフィードバックの自動生成を可能にすることを実証する。
関連論文リスト
- A Block-Based Testing Framework for Scratch [9.390562437823078]
自動テストの作成を可能にするブロックのカテゴリをScratchに導入する。
これらのブロックによって、学生や教師もテストを作成し、Scratch環境内で直接フィードバックを受け取ることができる。
論文 参考訳(メタデータ) (2024-10-11T14:11:26Z) - Towards Practical and Useful Automated Program Repair for Debugging [4.216808129651161]
PracAPRは統合開発環境(IDE)で動作する対話型修復システムである
PracAPRはテストスイートやプログラムの再実行を必要としない。
論文 参考訳(メタデータ) (2024-07-12T03:19:54Z) - A GPT-based Code Review System for Programming Language Learning [0.0]
本研究は,GPT-4を用いて学習者フレンドリなコードレビューを提供し,AIアシスト不正行為のリスクを最小限に抑えるシステムを提案する。
改良されたシステムは、厳格なコード正当性チェック、応答時間、API呼び出しコストの低減、コードレビューの品質の4つの基準に基づいて、ソフトウェア教育の専門家による評価を受けた。
論文 参考訳(メタデータ) (2024-06-21T12:16:01Z) - NExT: Teaching Large Language Models to Reason about Code Execution [50.93581376646064]
大規模言語モデル(LLM)のコードは通常、プログラムの表面テキスト形式に基づいて訓練される。
NExTは,プログラムの実行トレースを検査し,実行時の動作を判断する手法である。
論文 参考訳(メタデータ) (2024-04-23T01:46:32Z) - 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) - Hierarchical Programmatic Reinforcement Learning via Learning to Compose
Programs [58.94569213396991]
プログラムポリシーを作成するための階層型プログラム強化学習フレームワークを提案する。
提案するフレームワークは,プログラム作成の学習を通じて,アウト・オブ・ディストリビュータの複雑な動作を記述するプログラムポリシーを作成することができる。
Karel ドメインの実験結果から,提案するフレームワークがベースラインより優れていることが示された。
論文 参考訳(メタデータ) (2023-01-30T14:50:46Z) - A Survey of Learning-based Automated Program Repair [12.09968472868107]
自動プログラム修復(APR)は、ソフトウェアバグを自動修正することを目的としており、ソフトウェア開発とメンテナンスにおいて重要な役割を果たす。
近年のディープラーニング(DL)の進歩により、ニューラルネットワークを活用して大規模なオープンソースコードリポジトリからバグフィックスパターンを学ぶためのAPR技術が増えている。
本稿では,学習型APRコミュニティにおける最先端研究を要約するために,体系的な調査を行う。
論文 参考訳(メタデータ) (2023-01-09T11:08:15Z) - Giving Feedback on Interactive Student Programs with Meta-Exploration [74.5597783609281]
ウェブサイトやゲームのようなインタラクティブなソフトウェアを開発することは、特にコンピュータ科学を学ぶための魅力的な方法である。
標準的アプローチでは、インストラクターは、学生が実装した対話型プログラムを手動で評価する必要がある。
Code.orgのような何百万ものオンラインプラットフォームは、インタラクティブなプログラムを実装するための代入に関するフィードバックを提供することができない。
論文 参考訳(メタデータ) (2022-11-16T10:00:23Z) - Fault-Aware Neural Code Rankers [64.41888054066861]
サンプルプログラムの正しさを予測できる故障認識型ニューラルネットワークローダを提案する。
我々のフォールト・アウェア・ローダは、様々なコード生成モデルのpass@1精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2022-06-04T22:01:05Z) - Graph-based, Self-Supervised Program Repair from Diagnostic Feedback [108.48853808418725]
本稿では,ソースコードの修復や診断フィードバックに関連するシンボルを結合するプログラムフィードバックグラフを提案する。
次に、推論プロセスのモデル化にグラフニューラルネットワークを適用します。
オンラインで利用可能なラベルのないプログラムを活用するプログラム修復のための自己指導型学習パラダイムを提案する。
論文 参考訳(メタデータ) (2020-05-20T07:24:28Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。