論文の概要: LExecutor: Learning-Guided Execution
- arxiv url: http://arxiv.org/abs/2302.02343v1
- Date: Sun, 5 Feb 2023 09:12:07 GMT
- ステータス: 処理完了
- システム内更新日: 2023-02-07 18:44:08.538862
- Title: LExecutor: Learning-Guided Execution
- Title(参考訳): LExecutor:学習ガイドによる実行
- Authors: Beatriz Souza and Michael Pradel
- Abstract要約: 本稿では,任意のコードスニペットを制約の少ない方法で実行するための学習誘導型LExecutorを提案する。
キーとなるアイデアは、プログラムが立ち往生する原因となる欠落した値をニューラルモデルに予測させ、これらの値を実行に注入することです。
我々は、人気のあるオープンソースプロジェクトからのPythonコードに対するアプローチと、Stack Overflowから抽出されたコードスニペットについて評価する。
- 参考スコア(独自算出の注目度): 10.513263881746406
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Executing code is essential for various program analysis tasks, e.g., to
detect bugs that manifest through exceptions or to obtain execution traces for
further dynamic analysis. However, executing an arbitrary piece of code is
often difficult in practice, e.g., because of missing variable definitions,
missing user inputs, and missing third-party dependencies. This paper presents
LExecutor, a learning-guided approach for executing arbitrary code snippets in
an underconstrained way. The key idea is to let a neural model predict missing
values that otherwise would cause the program to get stuck, and to inject these
values into the execution. For example, LExecutor injects likely values for
otherwise undefined variables and likely return values of calls to otherwise
missing functions. We evaluate the approach on Python code from popular
open-source projects and on code snippets extracted from Stack Overflow. The
neural model predicts realistic values with an accuracy between 80.1% and
94.2%, allowing LExecutor to closely mimic real executions. As a result, the
approach successfully executes significantly more code than any available
technique, such as simply executing the code as-is. For example, executing the
open-source code snippets as-is covers only 4.1% of all lines, because the code
crashes early on, whereas LExecutor achieves a coverage of 50.1%.
- Abstract(参考訳): コードの実行は、様々なプログラム解析タスク、例えば例外を通じて現れるバグの検出や、さらなる動的解析のために実行トレースを取得するために不可欠である。
しかし、変数定義の欠如、ユーザ入力の欠如、サードパーティの依存関係の欠如など、任意のコードを実行することは現実的には難しいことが多い。
本稿では,任意のコードスニペットを制約の少ない方法で実行するための学習誘導型LExecutorを提案する。
キーとなるアイデアは、プログラムが停止する原因となる欠落した値をニューラルモデルに予測させ、これらの値を実行に注入することです。
例えば、LExecutorは、そうでなければ未定義変数の可能性のある値を注入し、そうでない関数に呼び出しの値を返す。
人気のあるオープンソースプロジェクトのpythonコードとstack overflowから抽出したコードスニペットのアプローチを評価した。
神経モデルは80.1%から94.2%の精度で現実的な値を予測し、lexecutorは実際の実行を密接に模倣することができる。
その結果、このアプローチは、コードをas-isで単に実行するなど、利用可能なテクニックよりもはるかに多くのコードを実行することに成功した。
例えば、オープンソースのコードスニペットは早期にクラッシュするため、全行の4.1%しかカバーしていないが、LExecutorは50.1%のカバレッジを達成している。
関連論文リスト
- CodeMind: A Framework to Challenge Large Language Models for Code
Reasoning [1.644043499620662]
大規模言語モデル(LLM)のコード推論能力を評価するために設計されたフレームワークであるCodeMindを紹介する。
CodeMindは、Independent Execution Reasoning (IER)、Dependent Execution Reasoning (DER)、Specification Reasoning (SR)の3つのコード推論タスクをサポートしている。
論文 参考訳(メタデータ) (2024-02-15T02:24:46Z) - Predicting Code Coverage without Execution [8.611200125985887]
コードカバレッジは、テスト中にステートメントやブランチなどのプログラム要素が実行される範囲を定量化するために広く使用されるメトリクスである。
本稿では,Large Language Models (LLM) のためのコードカバレッジ予測という新しいベンチマークタスクを提案する。
このタスクを形式化し、与えられたテストケースと入力によってメソッドのどの行が実行されるかを決定することで、コード実行のLLMの能力を評価する。
OpenAI の GPT-4 や GPT-3.5-Turbo, Google の BARD, An など,コード関連タスクに使用されている4つの最先端 LLM の性能について報告する。
論文 参考訳(メタデータ) (2023-07-25T10:07:02Z) - TRACED: Execution-aware Pre-training for Source Code [24.101763959136058]
TRACEDは、ソースコードに対する実行対応事前学習戦略である。
私たちの目標は、事前トレーニング中に複雑な実行ロジックをコードモデルに教えることです。
TRACEDは静的に事前訓練されたコードモデルを、完全な実行パス予測では12.4%、実行時変数値予測では25.2%改善している。
論文 参考訳(メタデータ) (2023-06-13T01:30:14Z) - CONCORD: Clone-aware Contrastive Learning for Source Code [64.51161487524436]
セルフ教師付き事前トレーニングは、多くのダウンストリームSEタスクに価値のあるジェネリックコード表現を学ぶための牽引役になった。
汎用的な表現学習のために、開発者が日々どのようにコードをコーディングするかは、要因としても不可欠である、と私たちは主張する。
特に,表現空間に良性クローンを近づける自己教師型コントラスト学習戦略であるCONCORDを提案する。
論文 参考訳(メタデータ) (2023-06-05T20:39:08Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - Code Execution with Pre-trained Language Models [88.04688617516827]
コードインテリジェンスのトレーニング済みモデルのほとんどは実行トレースを無視しており、ソースコードと構文構造のみに依存している。
我々は,大規模かつ現実的なPythonデータセットとコード実行タスクを作成するために,突然変異に基づくデータ拡張手法を開発した。
次に、コード実行事前学習とカリキュラム学習を活用して意味理解を強化するトランスフォーマーモデルであるCodeExecutorを提案する。
論文 参考訳(メタデータ) (2023-05-08T10:00:05Z) - Fault-Aware Neural Code Rankers [64.41888054066861]
サンプルプログラムの正しさを予測できる故障認識型ニューラルネットワークローダを提案する。
我々のフォールト・アウェア・ローダは、様々なコード生成モデルのpass@1精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2022-06-04T22:01:05Z) - Natural Language to Code Translation with Execution [82.52142893010563]
実行結果-プログラム選択のための最小ベイズリスク復号化。
そこで本研究では,自然言語からコードへのタスクにおいて,事前訓練されたコードモデルの性能を向上することを示す。
論文 参考訳(メタデータ) (2022-04-25T06:06:08Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。