論文の概要: E&V: Prompting Large Language Models to Perform Static Analysis by
Pseudo-code Execution and Verification
- arxiv url: http://arxiv.org/abs/2312.08477v1
- Date: Wed, 13 Dec 2023 19:31:00 GMT
- ステータス: 処理完了
- システム内更新日: 2023-12-16 03:00:11.162036
- Title: E&V: Prompting Large Language Models to Perform Static Analysis by
Pseudo-code Execution and Verification
- Title(参考訳): e&v: 擬似コードの実行と検証による静的解析を大規模言語モデルに促す
- Authors: Yu Hao, Weiteng Chen, Ziqiao Zhou, Weidong Cui
- Abstract要約: 大きな言語モデル(LLM)は、ソフトウェア工学のタスクに新しい機能を提供する。
LLMは擬似コードの実行をシミュレートし、最小限の努力で擬似コードにエンコードされた静的解析を効果的に実行する。
E&Vは、外部のオラクルを必要とせずに擬似コード実行の検証プロセスを含む。
- 参考スコア(独自算出の注目度): 7.745665775992235
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Static analysis, the process of examining code without executing it, is
crucial for identifying software issues. Yet, static analysis is hampered by
its complexity and the need for customization for different targets.
Traditional static analysis tools require extensive human effort and are often
limited to specific target programs and programming languages. Recent
advancements in Large Language Models (LLMs), such as GPT-4 and Llama, offer
new capabilities for software engineering tasks. However, their application in
static analysis, especially in understanding complex code structures, remains
under-explored. This paper introduces a novel approach named E&V , which
leverages LLMs to perform static analysis. Specifically, E&V employs LLMs to
simulate the execution of pseudo-code, effectively conducting static analysis
encoded in the pseudo-code with minimal human effort, thereby improving the
accuracy of results. E&V includes a verification process for pseudo-code
execution without needing an external oracle. This process allows E&V to
mitigate hallucinations of LLMs and enhance the accuracy of static analysis
results. We have implemented E&V in a prototype tool designed for triaging
crashes through backward taint analysis. This prototype, paired with GPT-4-32k,
has been applied to triage 170 recently fixed Linux kernel bugs across seven
bug categories. Our experiments demonstrate that the prototype correctly
identifies the blamed function in 81.2% of the cases. Additionally, we observe
that our novel verification process significantly improves the accuracy,
increasing it from 28.2% to 81.2%.
- Abstract(参考訳): 静的分析は、実行せずにコードを検査するプロセスであり、ソフトウェアの問題を特定するのに不可欠である。
しかし、静的解析はその複雑さと異なるターゲットのカスタマイズの必要性によって妨げられている。
従来の静的解析ツールは広範囲の人的努力を必要とし、しばしば特定のターゲットプログラムやプログラミング言語に限られる。
GPT-4やLlamaのようなLLM(Large Language Models)の最近の進歩は、ソフトウェアエンジニアリングタスクに新たな機能を提供する。
しかし、静的解析、特に複雑なコード構造を理解するための応用は、まだ検討されていない。
本稿では,LLMを利用して静的解析を行うE&Vという新しい手法を提案する。
特に、e&vは、擬似コードの実行をシミュレートするためにllmsを使用し、擬似コードにエンコードされた静的解析を最小限の労力で効果的に実行し、結果の精度を向上させる。
E&Vは、外部のオラクルを必要としない疑似コード実行の検証プロセスを含む。
このプロセスにより、E&V は LLM の幻覚を緩和し、静的解析結果の精度を高めることができる。
後方テート解析により衝突をトリアージするプロトタイプツールとしてE&Vを実装した。
GPT-4-32kと組み合わせたこのプロトタイプは、7つのバグカテゴリで最近修正された170のLinuxカーネルバグをトリアージしている。
本実験は, 81.2%の症例において, 原因関数を正しく同定することを示した。
さらに,新たな検証プロセスにより精度が向上し,28.2%から81.2%に向上した。
関連論文リスト
- SpecTool: A Benchmark for Characterizing Errors in Tool-Use LLMs [77.79172008184415]
SpecToolは、ツール使用タスクのLLM出力のエラーパターンを特定するための新しいベンチマークである。
もっとも顕著なLCMでも,これらの誤りパターンが出力に現れることを示す。
SPECTOOLの分析と洞察を使って、エラー軽減戦略をガイドすることができる。
論文 参考訳(メタデータ) (2024-11-20T18:56:22Z) - Easing Maintenance of Academic Static Analyzers [0.0]
Mopsaは、音を出すことを目的とした静的分析プラットフォームである。
この記事では、2017年以来のMopsaのメンテナンスを簡素化するために、私たちが作り出したツールとテクニックについて説明する。
論文 参考訳(メタデータ) (2024-07-17T11:29:21Z) - BigCodeBench: Benchmarking Code Generation with Diverse Function Calls and Complex Instructions [72.56339136017759]
BigCodeBenchは、大規模言語モデル(LLM)に対して、139のライブラリと7つのドメインから1140のきめ細かいタスクに対して、複数の関数呼び出しをツールとして呼び出すためのベンチマークである。
評価の結果,LLMは機能コールを正確に使用するための複雑な指示に従うことができず,スコアは最大60%,人的性能は97%と極めて低いことがわかった。
そこで本研究では,BigCodeBench-Instructという自然言語指向の変種を提案する。
論文 参考訳(メタデータ) (2024-06-22T15:52:04Z) - Customizing Static Analysis using Codesearch [1.7205106391379021]
様々な静的解析アプリケーションを記述するのによく使われる言語は、Datalogである。
アプリケーションセキュリティと静的分析の専門家のための慣れ親しんだフレームワークを提供すると同時に、開発者がカスタムの静的解析ツールを簡単に構築できるようにすることを目標としています。
我々のアプローチでは,高速ランタイムを持つプログラムのみを含むDatalogの亜種であるStarLangという言語を導入しています。
論文 参考訳(メタデータ) (2024-04-19T09:50:02Z) - ML-Bench: Evaluating Large Language Models and Agents for Machine Learning Tasks on Repository-Level Code [76.84199699772903]
ML-Benchは、既存のコードリポジトリを利用してタスクを実行する現実世界のプログラミングアプリケーションに根ざしたベンチマークである。
LLM(Large Language Model)とAIエージェントの両方を評価するために、事前に定義されたデプロイメント環境でLLMのテキスト-コード変換を評価するML-LLM-Benchと、Linuxサンドボックス環境でエンドツーエンドのタスク実行で自律エージェントをテストするML-Agent-Benchの2つの設定が採用されている。
論文 参考訳(メタデータ) (2023-11-16T12:03:21Z) - Leveraging Large Language Models for Automated Proof Synthesis in Rust [6.202137610101939]
大規模言語モデル(LLM)は、コード解析と合成に成功している。
我々は、LLMと静的解析を組み合わせることで、Verusと呼ばれるRustベースの形式検証フレームワークの不変性、アサーション、その他の証明構造を合成する。
プロトタイプでは,検証タスクを複数の小さなタスクに分割し,反復的にGPT-4をクエリし,その出力と軽量な静的解析を組み合わせる。
論文 参考訳(メタデータ) (2023-11-07T05:47:47Z) - DyVal: Dynamic Evaluation of Large Language Models for Reasoning Tasks [112.66827096358857]
大規模言語モデル(LLM)の動的評価のためのプロトコルであるDyValを紹介する。
この枠組みに基づき、有向非巡回グラフの構造的利点を活用してグラフインフォームドDyValを構築する。
Flan-T5-large から GPT-3.5-Turbo および GPT-4 まで様々な LLM の評価を行った。
論文 参考訳(メタデータ) (2023-09-29T12:04:14Z) - The Hitchhiker's Guide to Program Analysis: A Journey with Large
Language Models [18.026567399243]
大規模言語モデル(LLM)は静的解析に代わる有望な選択肢を提供する。
本稿では,LLM支援静的解析のオープン空間を深く掘り下げる。
LLiftは,静的解析ツールとLLMの両方を併用した,完全に自動化されたフレームワークである。
論文 参考訳(メタデータ) (2023-08-01T02:57:43Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - Malware Classification Using Static Disassembly and Machine Learning [1.5469452301122177]
マルウェアファミリーを分類するために,Windows PEセクション,コンテンツ,インポートライブラリのサイズと許可を含む,抽出が容易で小規模な4つの機能を提案する。
APIシーケンスのような詳細な行動関連機能と比較して、提案された機能はマルウェアに関するマクロな情報を提供する。
提案手法は,従来の機械学習アルゴリズム(ランサムフォレスト)とともに,99.40%の精度で提案されている。
論文 参考訳(メタデータ) (2021-12-10T18:14:47Z) - D2A: A Dataset Built for AI-Based Vulnerability Detection Methods Using
Differential Analysis [55.15995704119158]
静的解析ツールによって報告されたラベル問題に対する差分解析に基づくアプローチであるD2Aを提案する。
D2Aを使用して大きなラベル付きデータセットを生成し、脆弱性識別のためのモデルをトレーニングします。
論文 参考訳(メタデータ) (2021-02-16T07:46:53Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。