論文の概要: GuardRails: Automated Suggestions for Clarifying Ambiguous Purpose Statements
- arxiv url: http://arxiv.org/abs/2312.08189v2
- Date: Fri, 3 May 2024 07:39:46 GMT
- ステータス: 処理完了
- システム内更新日: 2024-05-06 17:47:17.241319
- Title: GuardRails: Automated Suggestions for Clarifying Ambiguous Purpose Statements
- Title(参考訳): GuardRails: あいまいな目的を明確化するための自動提案
- Authors: Mrigank Pawagi, Viraj Kumar,
- Abstract要約: 関数の前に、プログラマは目的のステートメント、すなわち関数が何を計算するかの、短い自然言語による説明を書くことを奨励される。
目的のステートメントは曖昧であるかもしれない、すなわち、2つ以上の非等価な計算が特定の入力に当てはまる場合、意図した振る舞いを特定できないかもしれない。
本稿では,Large Language Models (LLMs) を用いてそのような入力を提案する小説を提案する。
我々は、Pythonプログラミング言語のVisual Studio Codeの拡張として、データセットのオープンソース実装を作成します。
- 参考スコア(独自算出の注目度): 0.0
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Before implementing a function, programmers are encouraged to write a purpose statement i.e., a short, natural-language explanation of what the function computes. A purpose statement may be ambiguous i.e., it may fail to specify the intended behaviour when two or more inequivalent computations are plausible on certain inputs. Our paper makes four contributions. First, we propose a novel heuristic that suggests such inputs using Large Language Models (LLMs). Using these suggestions, the programmer may choose to clarify the purpose statement (e.g., by providing a functional example that specifies the intended behaviour on such an input). Second, to assess the quality of inputs suggested by our heuristic, and to facilitate future research, we create an open dataset of purpose statements with known ambiguities. Third, we compare our heuristic against GitHub Copilot's Chat feature, which can suggest similar inputs when prompted to generate unit tests. Fourth, we provide an open-source implementation of our heuristic as an extension to Visual Studio Code for the Python programming language, where purpose statements and functional examples are specified as docstrings and doctests respectively. We believe that this tool will be particularly helpful to novice programmers and instructors.
- Abstract(参考訳): 関数を実装する前に、プログラマは目的のステートメント、すなわち関数が何を計算するかの短い自然言語による説明を書くことを奨励される。
目的のステートメントは曖昧であるかもしれない、すなわち、2つ以上の非等価な計算が特定の入力に当てはまる場合、意図した振る舞いを特定できないかもしれない。
私たちの論文は4つの貢献をしている。
まず,Large Language Models (LLMs) を用いてそのような入力を提案する新しいヒューリスティックを提案する。
これらの提案を使用することで、プログラマは目的のステートメント(例えば、そのような入力に対して意図された振る舞いを指定する機能的な例を提供すること)を明確にすることを選ぶことができる。
第二に、我々のヒューリスティックによって提案される入力の質を評価し、将来の研究を促進するために、既知の曖昧さを伴う目的文のオープンデータセットを作成します。
第三に、私たちはGitHub CopilotのChat機能に対するヒューリスティックを比較しています。
第4に、Pythonプログラミング言語のVisual Studio Codeの拡張として、ヒューリスティックのオープンソース実装を提供しています。
このツールは初心者プログラマやインストラクターにとって特に役立つと思います。
関連論文リスト
- Chat-like Asserts Prediction with the Support of Large Language Model [34.140962210930624]
我々は,Pythonプロジェクトで有意義なアサート文を生成するために,Chatライクな実行ベースのアサート予測(tool)を導入する。
ツールはペルソナ、Chain-of-Thought、ワンショットの学習技術を利用して、迅速な設計を行い、LLMやPythonインタプリタと通信する。
評価の結果, 単一アサーション文生成では64.7%, 全体アサーション文生成では62%の精度が得られた。
論文 参考訳(メタデータ) (2024-07-31T08:27:03Z) - Natural Language Embedded Programs for Hybrid Language Symbolic Reasoning [84.12154024070024]
本研究では,数学・記号的推論,自然言語理解,後続の課題に対処するための統合フレームワークとして,自然言語組み込みプログラム(NLEP)を提案する。
我々のアプローチは,構造化知識の自然言語表現を含むデータ構造上の関数を定義する完全なPythonプログラムを生成するよう,言語モデルに促す。
Pythonインタープリタが生成されたコードを実行し、出力をプリントする。
論文 参考訳(メタデータ) (2023-09-19T17:54:21Z) - Code Representation Pre-training with Complements from Program
Executions [29.148208436656216]
テストケースで明らかになったプログラムの動的情報を調べ,それを補体としてコードの特徴表現に埋め込むために,FuzzPretrainを提案する。
FuzzyPretrainは、ソースコードやASTのみをトレーニングしたコード検索に対して、6%/9%のmAP改善を実現した。
論文 参考訳(メタデータ) (2023-09-04T01:57:22Z) - Understanding Programs by Exploiting (Fuzzing) Test Cases [26.8259045248779]
プログラムのより深い意味理解を実現するために,入力と出力/振る舞いの関係を学習に取り入れることを提案する。
コードの大部分の実行をトリガーするのに十分な入力を得るために,ファズテストを採用し,ファズチューニングを提案する。
提案手法の有効性は,コードクローン検出とコード分類を含む2つのプログラム理解タスクにおいて検証され,最先端技術よりも大きなマージンで優れている。
論文 参考訳(メタデータ) (2023-05-23T01:51:46Z) - Python Code Generation by Asking Clarification Questions [57.63906360576212]
本稿では,この課題に対して,より斬新で現実的なセットアップを導入する。
我々は、自然言語記述の過小評価は、明確化を問うことで解決できると仮定する。
我々は、生成した合成明確化質問と回答を含む自然言語記述とコードのペアを含む、CodeClarQAという新しいデータセットを収集し、導入する。
論文 参考訳(メタデータ) (2022-12-19T22:08:36Z) - Piloting Copilot and Codex: Hot Temperature, Cold Prompts, or Black
Magic? [5.714553194279462]
2つの言語モデルの様々な入力パラメータについて検討し、これらの入力パラメータの変動が生成したプログラムの品質に重大な影響を及ぼすかどうかを理解するために研究を行う。
その結果,入力パラメータの変動は言語モデルの性能を著しく向上させることができることがわかった。
論文 参考訳(メタデータ) (2022-10-26T13:28:14Z) - Interactive Code Generation via Test-Driven User-Intent Formalization [60.90035204567797]
大きな言語モデル(LLM)は、非公式な自然言語(NL)の意図からコードを生成する。
自然言語は曖昧であり、形式的な意味論が欠けているため、正確性の概念を定義するのは難しい。
言語に依存しない抽象アルゴリズムと具体的な実装TiCoderについて述べる。
論文 参考訳(メタデータ) (2022-08-11T17:41:08Z) - Non-Programmers Can Label Programs Indirectly via Active Examples: A
Case Study with Text-to-SQL [61.950839050383514]
APELは、非プログラマがシードセマンティクス(例えば、Codex)によって生成される候補プログラムの中から選択するフレームワークである。
各発話に対してAPELは、候補プログラムが異なる出力を生成する傾向がある単純な入力を積極的に検索する。
非プログラマに対して適切な出力を選択することのみを要求し、どのプログラムが正しいかを推測できるようにします。
論文 参考訳(メタデータ) (2022-05-25T00:35:12Z) - Natural Language-guided Programming [1.3955252961896318]
私たちは、このプロセスを大幅に自動化する可能性を秘めた、新しいタイプの開発ツールに基づいたビジョンを提唱しました。
主要なアイデアは、開発者がすでに記述したコードだけでなく、開発者が次に達成しようとしているタスクの意図も考慮して、コードの自動補完ツールを適用することである。
我々は、自然言語誘導プログラミングの完成を促進するために、このコードを自然言語意図で豊かにするプラクティスを、このプラクティスと呼んでいる。
論文 参考訳(メタデータ) (2021-08-11T13:06:33Z) - Latent Programmer: Discrete Latent Codes for Program Synthesis [56.37993487589351]
プログラム合成や文書要約などの多くのシーケンス学習タスクにおいて、重要な問題は出力シーケンスの広い空間を探索することである。
本稿では,検索対象とする出力の表現を学習することを提案する。
本稿では,まず入力/出力サンプルから離散潜在コードを予測するプログラム合成手法であるemphLatent Programmerを紹介し,そのプログラムを対象言語で生成する。
論文 参考訳(メタデータ) (2020-12-01T10:11:35Z) - IReEn: Reverse-Engineering of Black-Box Functions via Iterative Neural
Program Synthesis [70.61283188380689]
ブラックボックスエージェントの機能を明らかにする際の問題点について検討する。
我々はブラックボックスの特権情報に頼るのではなく、プログラムの入力と出力のみにアクセスするというより弱い仮定の下で問題を調査する。
その結果, 提案手法は, 78%の症例において, ほぼ機能的な等価プログラムを見出すことにより, 現状よりも優れていることがわかった。
論文 参考訳(メタデータ) (2020-06-18T17:50:48Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。