論文の概要: Galápagos: Automated N-Version Programming with LLMs
- arxiv url: http://arxiv.org/abs/2408.09536v1
- Date: Sun, 18 Aug 2024 16:44:01 GMT
- ステータス: 処理完了
- システム内更新日: 2024-08-20 18:24:47.958432
- Title: Galápagos: Automated N-Version Programming with LLMs
- Title(参考訳): Galápagos: LLMによるNバージョン自動プログラミング
- Authors: Javier Ron, Diogo Gaspar, Javier Cabrera-Arteaga, Benoit Baudry, Martin Monperrus,
- Abstract要約: Gal'apagosは、大規模な言語モデルを使用してプログラムの変種を生成するツールである。
ガラパゴスは機能的に等価であることが証明されたプログラム変種を生成できることを示す。
Gal'apagosが生成した変種は、実際の誤コンパイルバグからCコードを保護することができることを実証する。
- 参考スコア(独自算出の注目度): 10.573037638807024
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: One of the main challenges of N-Version Programming is development cost: it requires paying multiple teams to develop variants of the same system. To address this issue, we propose the automated generation of variants using large language models. We design, develop and evaluate Gal\'apagos: a tool for generating program variants using LLMs, validating their correctness and equivalence, and using them to assemble N-Version binaries. We evaluate Gal\'apagos by creating N-Version components of real-world C code. Our original results show that Gal\'apagos can produce program variants that are proven to be functionally equivalent, even when the variants are written in a different programming language. Our systematic diversity measurement indicate that functionally equivalent variants produced by Gal\'apagos, are statically different after compilation, and present diverging internal behavior at runtime. We demonstrate that the variants produced by Gal\'apagos can protect C code against real miscompilation bugs which affect the Clang compiler. Overall, our paper shows that producing N-Version software can be drastically automated by advanced usage of practical formal verification and generative language models.
- Abstract(参考訳): N-Version Programmingの主な課題の1つは開発コストである。
この問題に対処するために,大規模言語モデルを用いた変種の自動生成を提案する。
我々はGal\'apagosを設計、開発、評価し、LSMを用いてプログラム変種を生成し、それらの正しさと等価性を検証し、それらを用いてN-Versionバイナリを組み立てるツールである。
実世界のCコードのN-Versionコンポーネントを作成することでGal\'apagosを評価する。
元の結果から、Gal\'apagosは、異なるプログラミング言語で記述されている場合であっても、機能的に等価であることが証明されたプログラムの変種を生成できることが示されている。
我々の系統的な多様性測定は、Gal\'apagosによって生成される機能的に等価な変種がコンパイル後に静的に異なることを示し、実行時に内部の挙動が変化することを示す。
Gal\'apagosが生成した変種は、Clangコンパイラに影響を与える実際の誤コンパイルバグからCコードを保護することができることを実証する。
本稿は,N-Version ソフトウェアの作成を,実用的形式検証と生成言語モデルの高度利用により劇的に自動化できることを示す。
関連論文リスト
- VeCoGen: Automating Generation of Formally Verified C Code with Large Language Models [1.6249267147413524]
VeCoGenは、LLM(Large Language Models)と形式検証を組み合わせた新しいツールで、公式に認証されたCプログラムを自動生成する。
VeCoGenは、自然言語仕様であるISO/ISO C Specification Language (ACSL) の正式な仕様と、プログラムの生成を試みるテストケースのセットを採っている。
論文 参考訳(メタデータ) (2024-11-28T17:12:21Z) - 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) - NExT: Teaching Large Language Models to Reason about Code Execution [50.93581376646064]
大規模言語モデル(LLM)のコードは通常、プログラムの表面テキスト形式に基づいて訓練される。
NExTは,プログラムの実行トレースを検査し,実行時の動作を判断する手法である。
論文 参考訳(メタデータ) (2024-04-23T01:46:32Z) - Evolutionary Generative Fuzzing for Differential Testing of the Kotlin
Compiler [14.259471945857431]
JetBrainsが開発したKotlinコンパイラのバグ発見における差分テストの有効性について検討する。
そこで我々は,K1コンパイラとK2コンパイラの入力プログラムを生成するブラックボックス生成手法を提案する。
ケーススタディでは,提案手法がK1とK2のバグを効果的に検出している。
論文 参考訳(メタデータ) (2024-01-12T16:01:12Z) - AdaCCD: Adaptive Semantic Contrasts Discovery Based Cross Lingual
Adaptation for Code Clone Detection [69.79627042058048]
AdaCCDは、その言語でアノテーションを使わずに、新しい言語のクローンコードを検出する新しい言語間適応手法である。
5つのプログラミング言語からなる多言語コードクローン検出ベンチマークを構築し,AdaCCDの言語間適応性を評価する。
論文 参考訳(メタデータ) (2023-11-13T12:20:48Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - SLaDe: A Portable Small Language Model Decompiler for Optimized Assembly [6.080751346188323]
本稿では,実世界のコード上で訓練されたシーケンス・ツー・シーケンス・トランスフォーマをベースとした小型言語モデルデコンパイラであるSLaDeを提案する。
型推論を利用して、標準的な分析や最近のニューラルアプローチよりも読みやすく正確なプログラムを生成する。
論文 参考訳(メタデータ) (2023-05-21T17:31:39Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。