論文の概要: Program Slicing in the Era of Large Language Models
- arxiv url: http://arxiv.org/abs/2409.12369v1
- Date: Thu, 19 Sep 2024 00:07:56 GMT
- ステータス: 処理完了
- システム内更新日: 2024-11-07 15:14:47.122945
- Title: Program Slicing in the Era of Large Language Models
- Title(参考訳): 大規模言語モデルにおけるプログラムスライシング
- Authors: Kimya Khakzad Shahandashti, Mohammad Mahdi Mohajer, Alvine Boaye Belle, Song Wang, Hadi Hemmati,
- Abstract要約: プログラムスライシングはソフトウェア工学において重要なテクニックであり、開発者は関連するコードの部分を分離することができる。
本研究では,大規模言語モデル(LLM)の静的スライシングおよび動的プログラムスライシングへの応用について検討する。
- 参考スコア(独自算出の注目度): 7.990456190723922
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Program slicing is a critical technique in software engineering, enabling developers to isolate relevant portions of code for tasks such as bug detection, code comprehension, and debugging. In this study, we investigate the application of large language models (LLMs) to both static and dynamic program slicing, with a focus on Java programs. We evaluate the performance of four state-of-the-art LLMs- GPT-4o, GPT-3.5 Turbo, Llama-2, and Gemma-7B leveraging advanced prompting techniques, including few-shot learning and chain-of-thought reasoning. Using a dataset of 100 Java programs derived from LeetCode problems, our experiments reveal that GPT-4o performs the best in both static and dynamic slicing across other LLMs, achieving an accuracy of 60.84% and 59.69%, respectively. Our results also show that the LLMs we experimented with are yet to achieve reasonable performance for either static slicing or dynamic slicing. Through a rigorous manual analysis, we developed a taxonomy of root causes and failure locations to explore the unsuccessful cases in more depth. We identified Complex Control Flow as the most frequent root cause of failures, with the majority of issues occurring in Variable Declarations and Assignments locations. To improve the performance of LLMs, we further examined two independent strategies for prompting guided by our taxonomy, including prompt crafting, which involved refining the prompts to better guide the LLM through the slicing process, and iterative prompting, where the model receives feedback on the root cause and location of the failure and re-generates its responses. Our evaluation shows these two prompting enhancement approaches can improve accuracy by 4% and 3.9%, respectively.
- Abstract(参考訳): プログラムスライシングは、ソフトウェアエンジニアリングにおいて重要なテクニックであり、開発者はバグ検出、コード理解、デバッグといったタスクのために、関連するコードの一部を分離することができる。
本研究では,大規模言語モデル(LLM)の静的スライシングおよび動的プログラムスライシングへの応用について検討し,Javaプログラムに着目した。
我々は,4つの最先端LPM- GPT-4o, GPT-3.5 Turbo, Llama-2, Gemma-7Bの性能評価を行った。
LeetCode問題から派生した100のJavaプログラムのデータセットを用いて、GPT-4oは静的スライシングと動的スライシングの両方において、それぞれ60.84%と59.69%の精度で最高の性能を発揮することを示した。
この結果から, 静的スライシングと動的スライシングのいずれにおいても, LLM はまだ妥当な性能が得られていないことが明らかとなった。
厳密な手動解析により,根本原因と失敗箇所の分類法を開発し,失敗事例をより深く調査した。
複雑な制御フローは失敗の最も頻繁な根本原因であり,問題の大部分は可変宣言やアサインメントの場所で発生している。
LLMの性能を向上させるために,スライシングプロセスを通じてLCMをより良くガイドするためのプロンプトを改良するプロンプト作成や,モデルの根本原因や障害箇所に対するフィードバックを受け取り,その応答を再現する反復的プロンプトなど,我々の分類に導かれる2つの独立したプロンプトについて検討した。
評価の結果,これら2つの促進手法は,それぞれ4%,3.9%の精度向上を図っている。
関連論文リスト
- LLM Self-Correction with DeCRIM: Decompose, Critique, and Refine for Enhanced Following of Instructions with Multiple Constraints [86.59857711385833]
実世界のマルチ制約命令に従うLLMの能力を評価するために設計された最初のベンチマークであるRealInstructを紹介する。
オープンソースモデルとプロプライエタリモデルのパフォーマンスギャップを解決するため,Decompose, Critique and Refine(DeCRIM)自己補正パイプラインを提案する。
この結果から,DeCRIMはフィードバックが弱い場合でも,RealInstructでは7.3%,IFEvalでは8.0%,Mistralでは7.3%向上した。
論文 参考訳(メタデータ) (2024-10-09T01:25:10Z) - Enhancing Fault Localization Through Ordered Code Analysis with LLM Agents and Self-Reflection [8.22737389683156]
大規模言語モデル(LLM)は、コード理解と推論を強化することによって、フォールトローカライゼーションの有望な改善を提供する。
LLM4FL は,SBFL ランキングと配当戦略を統合した新しい LLM4FL の故障局所化手法である。
以上の結果から,LLM4FLはTop-1の精度でAutoFLを19.27%上回り,DeepFLやGraceといった最先端の監視技術を上回っていることがわかった。
論文 参考訳(メタデータ) (2024-09-20T16:47:34Z) - See What LLMs Cannot Answer: A Self-Challenge Framework for Uncovering LLM Weaknesses [51.975495361024606]
本稿では,Human-in-the-loopを用いたセルフチェレンジ評価フレームワークを提案する。
GPT-4が答えられないシードインスタンスから始めて、GPT-4に新しいインスタンスを生成するのに使えるエラーパターンを要約するように促します。
次に,GPT-4が生成する1,835個のインスタンスと,人手によるゴールド応答を併用したベンチマーク,SC-G4を構築した。
論文 参考訳(メタデータ) (2024-08-16T19:01:52Z) - What's Wrong with Your Code Generated by Large Language Models? An Extensive Study [80.18342600996601]
大規模言語モデル(LLM)は、標準解に比べて短いがより複雑なコードを生成する。
3つのカテゴリと12のサブカテゴリを含む誤ったコードに対するバグの分類を開発し、一般的なバグタイプに対する根本原因を分析する。
そこで本研究では,LLMがバグタイプやコンパイラフィードバックに基づいて生成したコードを批判し,修正することのできる,自己批判を導入した新たな学習自由反復手法を提案する。
論文 参考訳(メタデータ) (2024-07-08T17:27:17Z) - SORRY-Bench: Systematically Evaluating Large Language Model Safety Refusal Behaviors [64.9938658716425]
安全でないユーザリクエストを認識して拒否する、大規模な言語モデル(LLM)の既存の評価は、3つの制限に直面している。
まず、既存の手法では、安全でないトピックの粗い粒度を使い、いくつかのきめ細かいトピックを過剰に表現している。
第二に、プロンプトの言語的特徴とフォーマッティングは、様々な言語、方言など、多くの評価において暗黙的にのみ考慮されているように、しばしば見過ごされる。
第3に、既存の評価は大きなLCMに頼っているため、コストがかかる可能性がある。
論文 参考訳(メタデータ) (2024-06-20T17:56:07Z) - Navigating the Labyrinth: Evaluating and Enhancing LLMs' Ability to Reason About Search Problems [59.72548591120689]
我々は,11種類の検索問題を含む新しいベンチマークであるSearchBenchを紹介する。
もっとも先進的なLCMでさえ、これらの問題をエンドツーエンドのテキストで解決することができないことを示す。
LLMにその問題を解決するコードを生成するように指示することは助けになるが、GPT4のパフォーマンスは11.7%向上した。
論文 参考訳(メタデータ) (2024-06-18T00:44:58Z) - Testing LLMs on Code Generation with Varying Levels of Prompt
Specificity [0.0]
大規模言語モデル (LLM) は、人間のようなテキスト生成と処理を模倣する非並列的な技術を示している。
自然言語のプロンプトを実行可能なコードに変換する可能性は、ソフトウェア開発プラクティスの大きな変化を約束します。
論文 参考訳(メタデータ) (2023-11-10T23:41:41Z) - Large Language Models for Test-Free Fault Localization [11.080712737595174]
テストカバレッジ情報なしでバグの行を特定できる言語モデルに基づくフォールトローカライズ手法を提案する。
5億5000万、60億、160億のパラメータを持つ言語モデルを、手作業でキュレートされた小さなプログラムコーパスで微調整します。
実験により、LLMAOは最先端の機械学習フォールトローカライゼーション(MLFL)ベースラインを2.3%-54.4%改善し、トップ5の結果を14.4%-35.6%改善した。
論文 参考訳(メタデータ) (2023-10-03T01:26:39Z) - CodeApex: A Bilingual Programming Evaluation Benchmark for Large
Language Models [43.655927559990616]
我々は,LLMのプログラミング理解,コード生成,コード修正能力に着目したベンチマークデータセットであるCodeApexを提案する。
汎用モデルと特化モデルの両方を含む,広く使用されているLLMを12種類評価した。
GPT-4は最高のプログラミング能力を示し、それぞれ69%、54%、66%の精度を達成している。
論文 参考訳(メタデータ) (2023-09-05T04:12:01Z) - Learning to Optimize: A Primer and A Benchmark [94.29436694770953]
最適化への学習(L2O)は、機械学習を活用して最適化方法を開発する新しいアプローチです。
この記事では、継続的最適化のためのL2Oの総合的な調査とベンチマークを行う。
論文 参考訳(メタデータ) (2021-03-23T20:46:20Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。