論文の概要: 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に基づく基礎的ソフトウェアエンジニアリングツール構築のための新たな可能性を開く。
関連論文リスト
- EnStack: An Ensemble Stacking Framework of Large Language Models for Enhanced Vulnerability Detection in Source Code [1.9374282535132379]
本稿では,自然言語処理(NLP)技術を用いた脆弱性検出を支援する,新たなアンサンブルスタックフレームワークであるEnStackを紹介する。
本手法は,コード理解に特化した複数の事前学習型大規模言語モデル(LLM)を相乗化する。
メタ分類器はそれぞれのLSMの強度を集約し、微妙で複雑な脆弱性を検知する包括的なモデルをもたらす。
論文 参考訳(メタデータ) (2024-11-25T16:47:10Z) - Interactive and Expressive Code-Augmented Planning with Large Language Models [62.799579304821826]
大きな言語モデル(LLM)は、常識的推論と対話的な意思決定において強力な能力を示す。
近年,制御フローなどのコード・アジャセント技術を用いてLCM出力を構造化し,計画性能を向上させる技術が提案されている。
完全コード表現で動的なLEM計画手法であるREPL-Planを提案する。
論文 参考訳(メタデータ) (2024-11-21T04:23:17Z) - VISUALCODER: Guiding Large Language Models in Code Execution with Fine-grained Multimodal Chain-of-Thought Reasoning [10.70881967278009]
視覚制御フローグラフ(CFG)を用いたマルチモーダル・チェーン・オブ・ソート(CoT)推論を統合することで,コード推論を強化する,シンプルかつ効果的なアプローチであるVisual Coderを導入する。
コードスニペットを対応するCFGと整合させることで、Visual Coderは実行フローに関する深い洞察を提供し、コードの振る舞いをより正確に予測できる。
実験により,視覚的CFGによるLLMの増大は,コード推論タスクにおいて,テキストベースのCFG記述を著しく上回ることを示した。
論文 参考訳(メタデータ) (2024-10-30T19:07:01Z) - 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) - 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) - 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) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。