Decoding Logic Errors: A Comparative Study on Bug Detection by Students and Large Language Models

要約

論理エラーの特定と解決は、初心者プログラマにとって最もイライラする課題の 1 つとなります。
コンパイラやインタプリタがメッセージを発行する構文エラーとは異なり、論理エラーは微妙な場合があります。
特定の状況では、バグのあるコードが正しい動作を示す場合もあります。また、問題のステートメントがどのように解釈されたかが問題である可能性もあります。
このようなエラーは、コードを読んでいるときに発見するのが難しく、自動テストで見落とされることもあります。
特に初心者向けの適切なフィードバックと組み合わせた場合、論理エラーを自動的に検出することには大きな教育的可能性があります。
大規模言語モデル (LLM) は最近、コードの生成や説明など、さまざまなコンピューティング タスクに対して驚くべきパフォーマンスを実証しました。
これらの機能はコード構文と密接に関連しており、LLM の次のトークン予測動作と一致しています。
一方、論理エラーはコードの実行時のパフォーマンスに関係するため、LLM による分析にはあまり適していない可能性があります。
これを調査するために、論理エラーを検出し、初心者にわかりやすい説明を提供する 2 つの人気のある LLM、GPT-3 と GPT-4 のパフォーマンスを調査します。
同じエラー検出タスクを解決したコンピューティング入門の学生の大規模なコホート $(n=964)$ と LLM のパフォーマンスを比較します。
学生とモデルの応答の混合法分析を通じて、前世代と現在の世代の LLM の間で論理エラーの特定が大幅に向上していることが観察され、両方の LLM 世代の成績が学生を大幅に上回っていることがわかりました。
このようなモデルをコンピューティング教育ツールにどのように統合できるかを概説し、プログラミング学習時に学生をサポートする可能性について説明します。

要約(オリジナル)

Identifying and resolving logic errors can be one of the most frustrating challenges for novices programmers. Unlike syntax errors, for which a compiler or interpreter can issue a message, logic errors can be subtle. In certain conditions, buggy code may even exhibit correct behavior — in other cases, the issue might be about how a problem statement has been interpreted. Such errors can be hard to spot when reading the code, and they can also at times be missed by automated tests. There is great educational potential in automatically detecting logic errors, especially when paired with suitable feedback for novices. Large language models (LLMs) have recently demonstrated surprising performance for a range of computing tasks, including generating and explaining code. These capabilities are closely linked to code syntax, which aligns with the next token prediction behavior of LLMs. On the other hand, logic errors relate to the runtime performance of code and thus may not be as well suited to analysis by LLMs. To explore this, we investigate the performance of two popular LLMs, GPT-3 and GPT-4, for detecting and providing a novice-friendly explanation of logic errors. We compare LLM performance with a large cohort of introductory computing students $(n=964)$ solving the same error detection task. Through a mixed-methods analysis of student and model responses, we observe significant improvement in logic error identification between the previous and current generation of LLMs, and find that both LLM generations significantly outperform students. We outline how such models could be integrated into computing education tools, and discuss their potential for supporting students when learning programming.

arxiv情報

著者 Stephen MacNeil,Paul Denny,Andrew Tran,Juho Leinonen,Seth Bernstein,Arto Hellas,Sami Sarsa,Joanne Kim
発行日 2023-11-27 17:28:33+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

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