論文の概要: AI Chain on Large Language Model for Unsupervised Control Flow Graph
Generation for Statically-Typed Partial Code
- arxiv url: http://arxiv.org/abs/2306.00757v1
- Date: Thu, 1 Jun 2023 14:52:59 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-24 04:58:57.461600
- Title: AI Chain on Large Language Model for Unsupervised Control Flow Graph
Generation for Statically-Typed Partial Code
- Title(参考訳): 静的型部分符号のための教師なし制御フローグラフ生成のための大言語モデルに基づくAIチェーン
- Authors: Qing Huang, Zhou Zou, Zhenchang Xing, Zhenkang Zuo, Xiwei Xu, Qinghua
Lu
- Abstract要約: 制御フローグラフ(CFG)は、プログラムの振る舞いを可視化、理解、分析するために不可欠である。
本稿では,事前学習された大規模言語モデル(LLM)の誤り耐性と理解能力を活用してCFGを生成する手法を提案する。
- 参考スコア(独自算出の注目度): 21.423928174875844
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Control Flow Graphs (CFGs) are essential for visualizing, understanding and
analyzing program behavior. For statically-typed programming language like
Java, developers obtain CFGs by using bytecode-based methods for compilable
code and Abstract Syntax Tree (AST)-based methods for partially uncompilable
code. However, explicit syntax errors during AST construction and implicit
semantic errors caused by bad coding practices can lead to behavioral loss and
deviation of CFGs.To address the issue, we propose a novel approach that
leverages the error-tolerant and understanding ability of pre-trained Large
Language Models (LLMs) to generate CFGs. Our approach involves a Chain of
Thought (CoT) with four steps: structure hierarchy extraction, nested code
block extraction, CFG generation of nested code blocks, and fusion of all
nested code blocks' CFGs. To address the limitations of the original CoT's
single-prompt approach (i.e., completing all steps in a single generative
pass), which can result in an ``epic'' prompt with hard-to-control behavior and
error accumulation, we break down the CoT into an AI chain with explicit
sub-steps. Each sub-step corresponds to a separate AI-unit, with an effective
prompt assigned to each unit for interacting with LLMs to accomplish a specific
purpose.Our experiments confirmed that our method outperforms existing CFG
tools in terms of node and edge coverage, especially for incomplete or
erroneous code. We also conducted an ablation experiment and confirmed the
effectiveness of AI chain design principles: Hierarchical Task Breakdown, Unit
Composition, and Mix of AI Units and Non-AI Units.Our work opens up new
possibilities for building foundational software engineering tools based on
LLMs, as opposed to traditional program analysis methods.
- Abstract(参考訳): 制御フローグラフ(cfgs)は,プログラム動作の可視化,理解,解析に不可欠である。
Javaのような静的型付け言語では、コンパイル可能なコードのバイトコードベースのメソッドと部分的にコンパイル不可能なコードの抽象構文木(AST)ベースのメソッドを使用してCFGを取得する。
しかし,AST構築時の明示的な構文エラーや,悪いコーディングプラクティスによる暗黙的な意味的誤りは,CFGの動作損失や逸脱につながる可能性があるため,この問題を解決するために,事前学習された大規模言語モデル(LLM)の誤り耐性と理解能力を活用してCFGを生成する新しいアプローチを提案する。
我々のアプローチは、構造階層抽出、ネストされたコードブロック抽出、ネストされたコードブロックのCFG生成、ネストされたコードブロックのCFGの融合の4つのステップからなるChain of Thought(CoT)を含む。
元のCoTの単一プロンプトアプローチ(すなわち、単一の生成パスですべてのステップを完了)の限界に対処するために、"epic'"プロンプトがハード・トゥ・コントロールの動作とエラーの蓄積を伴い、CoTを明示的なサブステップでAIチェーンに分解する。
各サブステップは、それぞれのAIユニットに対応し、それぞれのユニットに効果的なプロンプトを割り当てて、特定の目的を達成する。我々の実験は、我々の手法が既存のCFGツール、特に不完全または誤コードにおいて、ノードとエッジのカバレッジにおいて優れていることを確認した。
また,aiチェーン設計の原則である階層的タスクブレークダウン,ユニット構成,aiユニットと非aiユニットの混合などの有効性を確認し,従来のプログラム分析手法とは対照的に,llmに基づく基礎的ソフトウェアエンジニアリングツール構築のための新たな可能性を開く。
関連論文リスト
- StepCoder: Improve Code Generation with Reinforcement Learning from
Compiler Feedback [58.20547418182074]
2つの主要コンポーネントからなるコード生成の新しいフレームワークであるStepCoderを紹介します。
CCCSは、長いシーケンスのコード生成タスクをCurriculum of Code Completion Subtaskに分割することで、探索課題に対処する。
FGOは、未実行のコードセグメントをマスクすることでのみモデルを最適化し、Fine-Grained Optimizationを提供する。
提案手法は,出力空間を探索し,対応するベンチマークにおいて最先端の手法より優れた性能を発揮する。
論文 参考訳(メタデータ) (2024-02-02T13:14:31Z) - GEC-DePenD: Non-Autoregressive Grammatical Error Correction with
Decoupled Permutation and Decoding [52.14832976759585]
文法的誤り訂正(GEC)は、通常自己回帰的なシーケンス・ツー・シーケンスモデルで解決される重要なNLPタスクである。
本稿では, アーキテクチャを置換ネットワークに分離する, GEC に対する非自己回帰的アプローチを提案する。
GECの既知の非自己回帰手法よりもネットワークが向上することを示す。
論文 参考訳(メタデータ) (2023-11-14T14:24:36Z) - Bridging Code Semantic and LLMs: Semantic Chain-of-Thought Prompting for
Code Generation [22.219645213202178]
本稿では,SeCoT というコードの意味情報を抽出する "Semantic Chain-of-Thought" 手法を提案する。
本研究では,SeCoTが最先端の性能を実現し,大規模モデルやコード生成の可能性を大幅に向上させることを示す。
論文 参考訳(メタデータ) (2023-10-16T05:09:58Z) - Coding by Design: GPT-4 empowers Agile Model Driven Development [0.03683202928838613]
この研究は、アジャイルモデル駆動開発(MDD)アプローチを提供し、OpenAIのGPT-4を使ってコードの自動生成を強化する。
私たちの研究は、現行のMDDメソッドへの重要な貢献として"アジリティ"を強調しています。
最終的に、GPT-4を利用して、最後のレイヤはJavaとPythonの両方でコードを自動生成します。
論文 参考訳(メタデータ) (2023-10-06T15:05:05Z) - When Do Program-of-Thoughts Work for Reasoning? [51.2699797837818]
本稿では,コードと推論能力の相関性を測定するために,複雑性に富んだ推論スコア(CIRS)を提案する。
具体的には、抽象構文木を用いて構造情報をエンコードし、論理的複雑性を計算する。
コードはhttps://github.com/zjunlp/EasyInstructのEasyInstructフレームワークに統合される。
論文 参考訳(メタデータ) (2023-08-29T17:22:39Z) - Exploring Continual Learning for Code Generation Models [80.78036093054855]
継続的学習(CL)は、コードドメインの中でまだ過小評価されていない重要な側面である。
コード生成,翻訳,要約,改良など,幅広いタスクをカバーするCodeTask-CLというベンチマークを導入する。
即時選択機構の不安定な訓練により,プロンプトプール (PP) などの有効手法が破滅的な忘れ込みに悩まされることが判明した。
論文 参考訳(メタデータ) (2023-07-05T16:58:39Z) - A Chain of AI-based Solutions for Resolving FQNs and Fixing Syntax
Errors in Partial Code [20.5627916036]
APIドキュメント、テクニカルブログ、プログラミングQ&Aサイトには、プログラミングタスクで再利用できる多数の部分的なコードが含まれているが、多くの場合、未解決の名前と構文エラーのために、これらのコードはコンパイル不可能である。
完全修飾名 (FQN) の解決とChatGPTのような巨大言語モデル (LLM) に基づく部分コードにおけるラストマイル構文エラーの修正のための部分コード再利用チェーン (PCR-Chain) を提案する。
論文 参考訳(メタデータ) (2023-06-21T02:13:32Z) - CodeT5+: Open Code Large Language Models for Code Understanding and
Generation [72.1638273937025]
大きな言語モデル (LLM) は膨大なソースコードで事前訓練されており、コードインテリジェンスにおいて顕著な進歩を遂げている。
CodeT5+は、コンポーネントモジュールを柔軟に組み合わせて、幅広い下流のコードタスクに適合させることができるコードのためのエンコーダ-デコーダLLMのファミリーである。
我々は、ゼロショット、微調整、命令調整を含む20以上のコード関連ベンチマークでCodeT5+を広範囲に評価した。
論文 参考訳(メタデータ) (2023-05-13T14:23:07Z) - Execution-based Code Generation using Deep Reinforcement Learning [8.085533911328577]
PPOCoderは、事前訓練されたPLモデルとプロキシポリシー最適化を組み合わせた、コード生成のための新しいフレームワークである。
PPOCoderは、外部コード固有の知識をモデル最適化プロセスにシームレスに統合する。
PPOCoderはタスクに依存しない、モデルに依存しないフレームワークで、さまざまなコード生成タスクやPLで使用できます。
論文 参考訳(メタデータ) (2023-01-31T18:02:26Z) - Precise Learning of Source Code Contextual Semantics via Hierarchical
Dependence Structure and Graph Attention Networks [28.212889828892664]
階層的な依存関係を組み込んだ新しいソースコードモデルを提案する。
本稿では,基本ブロックの構文構造,すなわち対応するASTをソースコードモデルに導入し,十分な情報を提供する。
その結果,本モデルではパラメータのスケールを50%削減し,プログラム分類タスクの精度を4%向上させることができた。
論文 参考訳(メタデータ) (2021-11-20T04:03:42Z) - Software Vulnerability Detection via Deep Learning over Disaggregated
Code Graph Representation [57.92972327649165]
この研究は、コードコーパスから安全でないパターンを自動的に学習するためのディープラーニングアプローチを探求する。
コードには解析を伴うグラフ構造が自然に認められるため,プログラムの意味的文脈と構造的規則性の両方を利用する新しいグラフニューラルネットワーク(GNN)を開発する。
論文 参考訳(メタデータ) (2021-09-07T21:24:36Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。