論文の概要: How Accurately Do Large Language Models Understand Code?
- arxiv url: http://arxiv.org/abs/2504.04372v2
- Date: Wed, 09 Apr 2025 18:27:43 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-04-11 12:25:12.417427
- Title: How Accurately Do Large Language Models Understand Code?
- Title(参考訳): 大規模言語モデルはコードの理解をいかに正確に行うか?
- Authors: Sabaat Haroon, Ahmad Faraz Khan, Ahmad Humayun, Waris Gill, Abdul Haddi Amjad, Ali R. Butt, Mohammad Taha Khan, Muhammad Ali Gulzar,
- Abstract要約: 大規模言語モデル(LLM)は、コードの修復やテストといった開発後のタスクでますます使われています。
コードの理解の定量化は、その抽象的な性質と標準化されたメトリクスの欠如のために難しい。
本稿では,LLMのコード理解能力に関する大規模な実証的研究を行った。
- 参考スコア(独自算出の注目度): 4.817546726074033
- License:
- Abstract: Large Language Models (LLMs) are increasingly used in post-development tasks such as code repair and testing. A key factor in these tasks' success is the model's deep understanding of code. However, the extent to which LLMs truly understand code remains largely unevaluated. Quantifying code comprehension is challenging due to its abstract nature and the lack of a standardized metric. Previously, this was assessed through developer surveys, which are not feasible for evaluating LLMs. Existing LLM benchmarks focus primarily on code generation, fundamentally different from code comprehension. Additionally, fixed benchmarks quickly become obsolete as they become part of the training data. This paper presents the first large-scale empirical investigation into LLMs' ability to understand code. Inspired by mutation testing, we use an LLM's fault-finding ability as a proxy for its deep code understanding. This approach is based on the insight that a model capable of identifying subtle functional discrepancies must understand the code well. We inject faults in real-world programs and ask the LLM to localize them, ensuring the specifications suffice for fault localization. Next, we apply semantic-preserving code mutations (SPMs) to the faulty programs and test whether the LLMs still locate the faults, verifying their confidence in code understanding. We evaluate nine popular LLMs on 600,010 debugging tasks from 670 Java and 637 Python programs. We find that LLMs lose the ability to debug the same bug in 78% of faulty programs when SPMs are applied, indicating a shallow understanding of code and reliance on features irrelevant to semantics. We also find that LLMs understand code earlier in the program better than later. This suggests that LLMs' code comprehension remains tied to lexical and syntactic features due to tokenization designed for natural languages, which overlooks code semantics.
- Abstract(参考訳): 大規模言語モデル(LLM)は、コードの修復やテストといった開発後のタスクでますます使われています。
これらのタスクの成功の重要な要因は、モデルのコードに対する深い理解です。
しかし、LLMがコードを真に理解している範囲は、大半が未評価のままである。
コードの理解の定量化は、その抽象的な性質と標準化されたメトリクスの欠如のために難しい。
以前は、LLMを評価するために実現不可能な開発者調査を通じて、これを評価していた。
既存のLLMベンチマークは主にコード生成に焦点を当てており、コードの理解とは根本的に異なる。
さらに、トレーニングデータの一部になると、固定ベンチマークはすぐに時代遅れになる。
本稿では,LLMのコード理解能力に関する大規模な実証的研究を行った。
突然変異テストにインスパイアされた私たちは、LLMのフォールトフィニング機能を、深いコード理解のためのプロキシとして使用しています。
このアプローチは、微妙な機能的相違を識別できるモデルがコードを理解する必要があるという洞察に基づいている。
実世界のプログラムに障害を注入し、LCMにローカライズを依頼し、その仕様が障害ローカライゼーションに十分であることを確認した。
次に、欠陥プログラムに意味保存コード突然変異(SPM)を適用し、LLMがまだ欠陥を見つけるかどうかを検証し、コード理解の信頼性を検証する。
我々は670のJavaと637のPythonプログラムから600,010のデバッグタスクで9つの人気のあるLCMを評価した。
SPMを適用すると、LLMは78%の障害プログラムで同じバグをデバッグする能力を失い、コードの理解が浅いこと、セマンティクスに関係のない機能に依存していることが分かる。
また、LCMはプログラムの早い段階でコードを理解するのが遅すぎることもわかりました。
このことは、LLMのコード理解が、コードセマンティクスを見落としている自然言語用に設計されたトークン化のために、語彙的および構文的特徴に結びついていることを示唆している。
関連論文リスト
- Crystal: Illuminating LLM Abilities on Language and Code [58.5467653736537]
本稿では,自然言語と符号化機能の統合性を高めるための事前学習戦略を提案する。
結果のモデルであるCrystalは、両方のドメインで顕著な能力を示します。
論文 参考訳(メタデータ) (2024-11-06T10:28:46Z) - LLMs' Understanding of Natural Language Revealed [0.0]
大規模言語モデル(LLM)は、大規模言語におけるボトムアップ、データ駆動のリバースエンジニアリングにおける大規模な実験の結果である。
私たちはLLMの言語理解能力、彼らが想定する砦をテストすることに重点を置きます。
論文 参考訳(メタデータ) (2024-07-29T01:21:11Z) - CodeHalu: Investigating Code Hallucinations in LLMs via Execution-based Verification [73.66920648926161]
本稿では,コード幻覚の概念を導入し,実行検証に基づくコード幻覚の分類法を提案する。
本稿では,コード幻覚の検出と定量化を目的とした,CodeHaluと呼ばれる動的検出アルゴリズムを提案する。
また、699のタスクから8,883のサンプルを含むCodeHaluEvalベンチマークを導入し、コードの幻覚を体系的に定量的に評価する。
論文 参考訳(メタデータ) (2024-04-30T23:56:38Z) - InfiBench: Evaluating the Question-Answering Capabilities of Code Large Language Models [56.723509505549536]
InfiBenchは、私たちの知識に合ったコードのための、最初の大規模フリーフォーム質問回答(QA)ベンチマークです。
慎重に選択された234の高品質なStack Overflow質問で構成されており、15のプログラミング言語にまたがっている。
InfiBench上で100以上の最新のコードLLMに対して,系統的評価を行い,新しい知見と洞察に富んだ結果を得た。
論文 参考訳(メタデータ) (2024-03-11T02:06:30Z) - Assured LLM-Based Software Engineering [51.003878077888686]
この記事では,2024年4月15日にポルトガルのリスボンで開催された International Workshop on Interpretability, Robustness, and Benchmarking in Neural Software Engineering で,Mark Harman 氏による基調講演の内容の概要を紹介する。
論文 参考訳(メタデータ) (2024-02-06T20:38:46Z) - Code Prompting Elicits Conditional Reasoning Abilities in Text+Code LLMs [65.2379940117181]
自然言語の問題をコードに変換する一連のプロンプトであるコードプロンプトを導入します。
コードプロンプトは複数のLLMに対して高速に向上することがわかった。
GPT 3.5を解析した結果,入力問題のコードフォーマッティングが性能向上に不可欠であることが判明した。
論文 参考訳(メタデータ) (2024-01-18T15:32:24Z) - Mutation-based Consistency Testing for Evaluating the Code Understanding
Capability of LLMs [5.549095839198671]
大きな言語モデル(LLM)は、自然言語とプログラミング言語の両方を処理する際、顕著な能力を示している。
本稿では,LLMのコード理解性能を評価する新しい手法を提案し,特にコードと記述の微妙な差異に着目した。
演算子置換やステートメント削除など,さまざまなタイプのコード突然変異を適用して,一貫性のないコード記述ペアを生成する。
我々は,現在最先端のコード生成ベンチマークであるHumanEval-Xを用いて,GPT-3.5とGPT-4の2つのLLMのケーススタディを行う。
論文 参考訳(メタデータ) (2024-01-11T14:27:43Z) - If LLM Is the Wizard, Then Code Is the Wand: A Survey on How Code
Empowers Large Language Models to Serve as Intelligent Agents [81.60906807941188]
大型言語モデル(LLM)は、自然言語と形式言語(コード)の組み合わせに基づいて訓練される
コードは、標準構文、論理一貫性、抽象化、モジュール性を備えた高レベルの目標を実行可能なステップに変換する。
論文 参考訳(メタデータ) (2024-01-01T16:51:20Z) - 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) - Can ChatGPT replace StackOverflow? A Study on Robustness and Reliability
of Large Language Model Code Generation [8.575560293086289]
大規模言語モデル(LLM)は、自然言語を理解し、プログラミングコードを生成する素晴らしい能力を示している。
生成されたコードにおけるAPIの誤用は、リソースリークやプログラムクラッシュといった深刻な問題を引き起こす可能性がある。
論文 参考訳(メタデータ) (2023-08-20T18:36:28Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。