論文の概要: Lampr: Boosting the Effectiveness of Language-Generic Program Reduction
via Large Language Models
- arxiv url: http://arxiv.org/abs/2312.13064v1
- Date: Wed, 20 Dec 2023 14:43:36 GMT
- ステータス: 処理完了
- システム内更新日: 2023-12-21 15:31:17.641138
- Title: Lampr: Boosting the Effectiveness of Language-Generic Program Reduction
via Large Language Models
- Title(参考訳): Lampr: 大規模言語モデルによる言語生成プログラム削減の有効性向上
- Authors: Mengxiao Zhang, Yongqiang Tian, Zhenyang Xu, Yiwen Dong, Shin Hwei Tan
and Chengnian Sun
- Abstract要約: Lamprは、複数の言語に対して言語固有のプログラム還元を実行するためにLLMを使用した最初の技術である。
効率性のために、Lamprは、C、Rust、JavaScriptのベンチマークで24.93%、4.47%、11.71%の小さなプログラムを生成することでVulcanを上回っている。
- 参考スコア(独自算出の注目度): 10.354862129018892
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Program reduction is a prevalent technique to facilitate compilers' debugging
by automatically minimizing bug-triggering programs. Existing program reduction
techniques are either generic across languages (e.g., Perses and Vulcan) or
specifically customized for one certain language by employing language-specific
features, like C-Reduce. However, striking the balance between generality
across multiple programming languages and specificity to individual languages
in program reduction is yet to be explored.
This paper proposes Lampr, the first technique utilizing LLMs to perform
language-specific program reduction for multiple languages. The core insight is
to utilize both the language-generic syntax level program reduction (e.g.,
Perses) and the language-specific semantic level program transformations
learned by LLMs. Alternately, language-generic program reducers efficiently
reduce programs into 1-tree-minimality, which is small enough to be manageable
for LLMs; LLMs effectively transform programs via the learned semantics to
expose new reduction opportunities for the language-generic program reducers to
further reduce the programs.
Our extensive evaluation on 50 benchmarks across three languages (C, Rust,
and JavaScript) has highlighted Lampr's practicality and superiority over
Vulcan, the state-of-the-art language-generic program reducer. For
effectiveness, Lampr surpasses Vulcan by producing 24.93\%, 4.47\%, and 11.71\%
smaller programs on benchmarks in C, Rust and JavaScript. Moreover, Lampr and
Vulcan have demonstrated their potential to complement each other. By using
Vulcan on Lampr's output for C programs, we achieve program sizes comparable to
those reduced by C-Reduce. For efficiency, Lampr takes 10.77\%, 34.88\%,
36.96\% less time than Vulcan to finish all benchmarks in C, Rust and
JavaScript, separately.
- Abstract(参考訳): プログラムリダクションは、バグトリガプログラムを自動的に最小化し、コンパイラのデバッグを容易にする一般的なテクニックである。
既存のプログラムリダクション技術は、言語全体(例えばPersesやVulcan)にまたがって汎用的であるか、C-Reduceのような言語固有の機能を使って特定の言語用に特別にカスタマイズされている。
しかし、複数のプログラミング言語にまたがる汎用性と、プログラム削減における個々の言語に対する特異性とのバランスは、まだ検討されていない。
本稿では,LLMを用いて複数の言語に対して言語固有のプログラム還元を行う最初の手法であるLamprを提案する。
中心となる洞察は、言語ジェネリックな構文レベルでのプログラム還元(例えばPerses)とLLMによって学習された言語固有の意味レベルでのプログラム変換の両方を活用することである。
言語ジェネリック・プログラム・リデューサは、プログラムを1-ツリー・ミニマリティに効率的に還元するが、LLMは学習セマンティクスを通じてプログラムを効果的に変換し、言語ジェネリック・プログラム・リデューサに新たな還元機会を公開し、プログラムをさらに削減する。
3つの言語(c、rust、javascript)にまたがる50のベンチマークの広範な評価では、最先端の言語-ジェネリックプログラムリデューサであるvulcanに対するlamprの実用性と優位性が強調された。
有効性のために、Lamprは、C、Rust、JavaScriptのベンチマークで24.93\%、4.47\%、11.71\%小さなプログラムを生成することでVulcanを上回っている。
さらに、LamprとVulcanは互いに補完する可能性を実証している。
C プログラムに対する Lampr の出力に Vulcan を用いることで,C-Reduce で削減されたプログラムに匹敵するプログラムサイズを実現する。
Lamprの効率性は、10.77\%、34.88\%、36.96\%で、C、Rust、JavaScriptのすべてのベンチマークを別々に完了する。
関連論文リスト
- CRUXEval-X: A Benchmark for Multilingual Code Reasoning, Understanding and Execution [50.7413285637879]
CRUXEVAL-Xコード推論ベンチマークには19のプログラミング言語が含まれている。
各言語に対して少なくとも600人の被験者で構成され、合計19Kのコンテンツ一貫性テストがある。
Pythonでのみトレーニングされたモデルでさえ、他の言語で34.4%のPass@1を達成することができる。
論文 参考訳(メタデータ) (2024-08-23T11:43:00Z) - Can Large Language Models Code Like a Linguist?: A Case Study in Low Resource Sound Law Induction [6.697759280660703]
本稿では,大規模言語モデルのプログラミング能力を利用した言語に依存しない手法を提案する。
音響変化例からPython音声法則プログラムを生成する。
論文 参考訳(メタデータ) (2024-06-18T15:46:04Z) - Synthetic Programming Elicitation for Text-to-Code in Very Low-Resource Programming and Formal Languages [21.18996339478024]
SPEAC(emphsynthetic programming elicitation and compilation)を紹介する。
SPEACは、より頻繁に、意味的正しさを犠牲にすることなく、構文的に正しいプログラムを生成する。
UCLID5形式検証言語のケーススタディにおいて,SPEACの性能を実証的に評価した。
論文 参考訳(メタデータ) (2024-06-05T22:16:19Z) - AIOS Compiler: LLM as Interpreter for Natural Language Programming and Flow Programming of AI Agents [38.580779075892636]
我々は、コード表現と実行(CoRE)のための新しいシステムを開発する。
提案システムは,自然言語プログラミング,擬似コードプログラミング,フロープログラミングを同一表現で統合し,言語エージェントを構築する。
実行中に、冗長性を最小化するために外部メモリを組み込む。
論文 参考訳(メタデータ) (2024-05-11T04:29:03Z) - ReGAL: Refactoring Programs to Discover Generalizable Abstractions [59.05769810380928]
Generalizable Abstraction Learning (ReGAL)は、再利用可能な関数のライブラリをコード化して学習する手法である。
ReGALによって発見された共有関数ライブラリは、プログラムが様々な領域で容易に予測できることを示している。
CodeLlama-13Bでは、ReGALはLOGOで11.5%、日付理解で26.1%、TextCraftで8.1%という絶対精度が向上し、3つのドメインのうち2つでGPT-3.5を上回った。
論文 参考訳(メタデータ) (2024-01-29T18:45:30Z) - Refactoring Programs Using Large Language Models with Few-Shot Examples [20.48175387745551]
ユーザ記述型Pythonプログラムのより複雑なバージョンを提案するために,大規模言語モデル (LLM) である GPT-3.5 を用いることを実演する。
95.68%のプログラムは、それぞれ10の候補を発生させ、結果として平均的なサイクロマティックな複雑さが17.35%減少することを示した。
論文 参考訳(メタデータ) (2023-11-20T11:43:45Z) - The Ups and Downs of Large Language Model Inference with Vocabulary Trimming by Language Heuristics [74.99898531299148]
本研究は,興味のある言語への埋め込みエントリを制限し,時間と記憶効率を高めることによる語彙トリミング(VT)について検討する。
Unicodeベースのスクリプトフィルタリングとコーパスベースの選択という2つの言語を異なる言語ファミリやサイズに適用する。
その結果、VTは小型モデルのメモリ使用量を50%近く削減し、生成速度が25%向上した。
論文 参考訳(メタデータ) (2023-11-16T09:35:50Z) - InstructAlign: High-and-Low Resource Language Alignment via Continual
Crosslingual Instruction Tuning [66.31509106146605]
命令を調整した大規模言語モデル(LLM)は、様々なタスクや言語で顕著な能力を示している。
しかし、利用可能なデータが不足しているため、表現不足の言語に一般化する能力は限られている。
InstructAlignは、LLMが新しい未知の言語を学習済みの高リソース言語と整列できるようにするために、連続的なクロスリンガル命令チューニングを使用する。
論文 参考訳(メタデータ) (2023-05-23T02:51:34Z) - LEVER: Learning to Verify Language-to-Code Generation with Execution [64.36459105535]
本稿では,プログラムの実行結果の検証を学習することで,言語からコードへの生成を改善するシンプルな手法であるLEVERを提案する。
具体的には、LLMからサンプリングされたプログラムが、自然言語入力、プログラム自体とその実行結果に基づいて正しいか否かを判定するために、検証者を訓練する。
LEVER はベースコード LLMs (4.6% から 10.9% まで) を継続的に改善し、それらすべてに対して新しい最先端の結果を得る。
論文 参考訳(メタデータ) (2023-02-16T18:23:22Z) - Natural Language to Code Translation with Execution [82.52142893010563]
実行結果-プログラム選択のための最小ベイズリスク復号化。
そこで本研究では,自然言語からコードへのタスクにおいて,事前訓練されたコードモデルの性能を向上することを示す。
論文 参考訳(メタデータ) (2022-04-25T06:06:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。