論文の概要: WatChat: Explaining perplexing programs by debugging mental models
- arxiv url: http://arxiv.org/abs/2403.05334v1
- Date: Fri, 8 Mar 2024 14:10:25 GMT
- ステータス: 処理完了
- システム内更新日: 2024-03-11 13:24:43.696343
- Title: WatChat: Explaining perplexing programs by debugging mental models
- Title(参考訳): WatChat: メンタルモデルをデバッギングしてパープレッシャプログラムを説明する
- Authors: Kartik Chandra, Tzu-Mao Li, Rachit Nigam, Joshua Tenenbaum, Jonathan
Ragan-Kelley
- Abstract要約: プログラム合成技術を用いて、ユーザーがプログラムの動作に驚かされる可能性のある潜在的な誤解を自動的に推測する。
これらの誤解を分析することで、プログラムの振る舞いを簡潔かつ有用な説明を提供する。
また,本手法は,学生の誤認識を診断・修正するための教育的サンプルプログラムの合成にも適用可能である。
- 参考スコア(独自算出の注目度): 8.60151271579051
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Often, a good explanation for a program's unexpected behavior is a bug in the
programmer's code. But sometimes, an even better explanation is a bug in the
programmer's mental model of the language they are using. Instead of merely
debugging our current code ("giving the programmer a fish"), what if our tools
could directly debug our mental models ("teaching the programmer to fish")? In
this paper, we apply ideas from computational cognitive science to do exactly
that. Given a perplexing program, we use program synthesis techniques to
automatically infer potential misconceptions that might cause the user to be
surprised by the program's behavior. By analyzing these misconceptions, we
provide succinct, useful explanations of the program's behavior. Our methods
can even be inverted to synthesize pedagogical example programs for diagnosing
and correcting misconceptions in students.
- Abstract(参考訳): 多くの場合、プログラムの予期せぬ振る舞いのよい説明は、プログラマのコードのバグである。
しかし、時として、より優れた説明は、プログラマが使用している言語のメンタルモデルにバグがある場合もあります。
単に現在のコードをデバッグする("プログラマに魚を与える")のではなく、私たちのツールがメンタルモデルを直接デバッグできるとしたらどうでしょう("プログラマに魚を教える")?
本稿では,計算認知科学のアイデアを正確に行うために応用する。
プログラムが複雑化すると、プログラム合成技術を用いてプログラムの動作に驚かされる可能性のある潜在的な誤解を自動的に推測する。
これらの誤解を分析することで、プログラムの振る舞いの簡潔で有用な説明を提供する。
本手法は,学生の誤解を診断し,修正するための教育的サンプルプログラムを合成することも可能である。
関連論文リスト
- NExT: Teaching Large Language Models to Reason about Code Execution [50.93581376646064]
大規模言語モデル(LLM)のコードは通常、プログラムの表面テキスト形式に基づいて訓練される。
NExTは,プログラムの実行トレースを検査し,実行時の動作を判断する手法である。
論文 参考訳(メタデータ) (2024-04-23T01:46:32Z) - What is a "bug"? On subjectivity, epistemic power, and implications for
software research [8.116831482130555]
バグ」は少なくとも1870年代からの工学的「欠陥」の口語である。
現代のソフトウェア指向の定義のほとんどは、開発者が意図したものと、プログラムが実際に何をするかを区別するものである。
バグをファインディングするのは簡単だ" と最初に言うのは,“バグパターンはしばしばエラーとなるコード”だ。
論文 参考訳(メタデータ) (2024-02-13T01:52:42Z) - GuardRails: Automated Suggestions for Clarifying Ambiguous Purpose Statements [0.0]
関数の前に、プログラマは目的のステートメント、すなわち関数が何を計算するかの、短い自然言語による説明を書くことを奨励される。
目的のステートメントは曖昧であるかもしれない、すなわち、2つ以上の非等価な計算が特定の入力に当てはまる場合、意図した振る舞いを特定できないかもしれない。
本稿では,Large Language Models (LLMs) を用いてそのような入力を提案する小説を提案する。
我々は、Pythonプログラミング言語のVisual Studio Codeの拡張として、データセットのオープンソース実装を作成します。
論文 参考訳(メタデータ) (2023-12-13T14:56:42Z) - Natural Language Embedded Programs for Hybrid Language Symbolic Reasoning [84.12154024070024]
本研究では,数学・記号的推論,自然言語理解,後続の課題に対処するための統合フレームワークとして,自然言語組み込みプログラム(NLEP)を提案する。
我々のアプローチは,構造化知識の自然言語表現を含むデータ構造上の関数を定義する完全なPythonプログラムを生成するよう,言語モデルに促す。
Pythonインタープリタが生成されたコードを実行し、出力をプリントする。
論文 参考訳(メタデータ) (2023-09-19T17:54:21Z) - On Feasibility of Declarative Diagnosis [0.0]
論理プログラムの宣言的診断には有用な方法があり、実際のプログラミングでは有効であるべきだと論じる。
本稿では、その主な弱点について論じ、克服方法を示す。
論文 参考訳(メタデータ) (2023-08-30T08:56:19Z) - Generative Models as a Complex Systems Science: How can we make sense of
large language model behavior? [75.79305790453654]
事前訓練されたモデルから望ましい振る舞いを排除し、望ましくないモデルを避けながら、NLPを再定義した。
言語モデルの振る舞いをタスク間性能を説明するカテゴリに分解する体系的な取り組みについて論じる。
論文 参考訳(メタデータ) (2023-07-31T22:58:41Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - Understanding Programs by Exploiting (Fuzzing) Test Cases [26.8259045248779]
プログラムのより深い意味理解を実現するために,入力と出力/振る舞いの関係を学習に取り入れることを提案する。
コードの大部分の実行をトリガーするのに十分な入力を得るために,ファズテストを採用し,ファズチューニングを提案する。
提案手法の有効性は,コードクローン検出とコード分類を含む2つのプログラム理解タスクにおいて検証され,最先端技術よりも大きなマージンで優れている。
論文 参考訳(メタデータ) (2023-05-23T01:51:46Z) - Using Large Language Models to Enhance Programming Error Messages [5.903720638984496]
大規模な言語モデルは、エラーメッセージのプログラミングに有用な拡張を作成するために使用することができる。
我々は,大規模言語モデルの利点と欠点について論じ,プログラムエラーメッセージの強化に向けた今後の研究の流れを浮き彫りにする。
論文 参考訳(メタデータ) (2022-10-20T23:17:26Z) - Diagnosing AI Explanation Methods with Folk Concepts of Behavior [70.10183435379162]
我々は「成功」は、その説明がどんな情報を含むかだけでなく、人間の説明者がどのような情報から理解するかにも依存すると考えている。
我々は、人間の説明による社会的帰属の枠組みとして、行動の民意的概念を用いる。
論文 参考訳(メタデータ) (2022-01-27T00:19:41Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。