論文の概要: JavaBench: A Benchmark of Object-Oriented Code Generation for Evaluating Large Language Models
- arxiv url: http://arxiv.org/abs/2406.12902v2
- Date: Fri, 11 Oct 2024 10:27:16 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-10-14 13:30:19.500907
- Title: JavaBench: A Benchmark of Object-Oriented Code Generation for Evaluating Large Language Models
- Title(参考訳): JavaBench: 大規模言語モデル評価のためのオブジェクト指向コード生成ベンチマーク
- Authors: Jialun Cao, Zhiyong Chen, Jiarong Wu, Shing-chi Cheung, Chang Xu,
- Abstract要約: OOP機能を実行するプロジェクトレベルのJavaベンチマークであるJavaBenchを提案する。
106のJavaクラスに389のメソッドを持つ4つのJavaプロジェクトで構成されている。
282人の大学生が合格し、平均スコアは90.93/100である。
- 参考スコア(独自算出の注目度): 22.95865189208591
- License:
- Abstract: Code generation benchmarks such as HumanEval are widely adopted to evaluate LLMs' capabilities. However, after consolidating the latest 24 benchmarks, we noticed three significant imbalances. First, imbalanced programming language. 95.8% of benchmarks involve Python, while only 5 benchmarks involve Java. Second, imbalanced code granularity. Function-/statement-level benchmarks account for over 83.3% of benchmarks. Only a mere handful extends to class-/project-levels, and all are limited to Python. Third, lacking advanced features. Existing benchmarks primarily assess basic coding skills, while overlooking advanced Object-Oriented Programming (OOP) features (i.e., encapsulation, inheritance, and polymorphism). To fill these gaps, we propose JavaBench, a project-level Java benchmark that exercises OOP features. It comprises four Java projects with 389 methods in 106 Java classes. The test coverage is up to 92%, and JavaBench is attested by 282 undergraduate students, reaching a 90.93/100 average score (i.e., pass rate against the test suite), ensuring the quality of documentation, code skeleton, and tests. To better evaluate LLM's capability against JavaBench, we introduce a systematic evaluation design covering three context settings and five synthesis strategies at two granularities using three hierarchical metrics. Our extensive experiment yields several interesting findings. First, we noticed that regarding project-level Java programming, LLMs are far behind undergraduate students (no project can be correctly completed by any studied LLMs, and at most 41.17% Pass@5 in a more relaxed evaluation). Second, using method signature as prompt context may strike an ideal balance for project-level code generation. JavaBench is publicly available at https://github.com/java-bench/JavaBench.
- Abstract(参考訳): HumanEvalのようなコード生成ベンチマークは、LLMの能力を評価するために広く採用されている。
しかし、最新の24ベンチマークを統合した後、3つの重要な不均衡に気付きました。
まず、不均衡なプログラミング言語。
95.8%のベンチマークがPython、わずか5つのベンチマークがJavaである。
第二に、コードの粒度の不均衡。
関数/ステートメントレベルのベンチマークは83.3%以上を占める。
クラス/プロジェクトレベルまでほんの一握りで、すべてPythonに限られています。
第3に、高度な機能がない。
既存のベンチマークは主に基本的なコーディングスキルを評価し、高度なオブジェクト指向プログラミング(OOP)機能(カプセル化、継承、多型)を見渡す。
これらのギャップを埋めるために、OOP機能を実行するプロジェクトレベルのJavaベンチマークであるJavaBenchを提案する。
106のJavaクラスに389のメソッドを持つ4つのJavaプロジェクトで構成されている。
テストカバレッジは最大92%、JavaBenchは282人の大学生によってテストされ、90.93/100の平均スコア(テストスイートに対するパスレート)に達し、ドキュメント、コードスケルトン、テストの質を保証する。
JavaBenchに対してLLMの能力を評価するために,3つのコンテキスト設定と5つの合成戦略を2つの階層的メトリクスを用いて網羅的に評価する手法を提案する。
我々の広範な実験は、いくつかの興味深い発見をもたらす。
まず、プロジェクトレベルのJavaプログラミングに関して、LLMは学部生よりはるかに遅れていることに気づきました。
第二に、プロンプトコンテキストとしてメソッドシグネチャを使用することは、プロジェクトレベルのコード生成に理想的なバランスを取る可能性がある。
JavaBenchはhttps://github.com/java-bench/JavaBench.comで公開されている。
関連論文リスト
- Generating executable oracles to check conformance of client code to requirements of JDK Javadocs using LLMs [21.06722050714324]
本稿では,広く使用されているJavaライブラリ,例えば java.lang や java.util パッケージのクライアントに対するテストオーラクルの自動化に焦点を当てる。
大規模な言語モデルを、テストオラクル自動化のフレームワークに関する洞察を具現化するための技術として使用しています。
論文 参考訳(メタデータ) (2024-11-04T04:24:25Z) - Not All Votes Count! Programs as Verifiers Improve Self-Consistency of Language Models for Math Reasoning [24.386388107656334]
本稿では,プログラムベースの検証を用いて,潜在的に誤った推論経路をフィルタリングするPROVEを提案する。
バニラ多数決に頼る代わりに、我々の手法は、対応するプログラム出力が生成された解と矛盾する解を拒絶する。
PROVEは、すべてのデータセットとモデルサイズにわたる数学的推論タスクを解決するために、バニラ投票を一貫して上回っている。
論文 参考訳(メタデータ) (2024-10-16T14:24:55Z) - CRUXEval-X: A Benchmark for Multilingual Code Reasoning, Understanding and Execution [50.7413285637879]
CRUXEVAL-Xコード推論ベンチマークには19のプログラミング言語が含まれている。
各言語に対して少なくとも600人の被験者で構成され、合計19Kのコンテンツ一貫性テストがある。
Pythonでのみトレーニングされたモデルでさえ、他の言語で34.4%のPass@1を達成することができる。
論文 参考訳(メタデータ) (2024-08-23T11:43:00Z) - LiveBench: A Challenging, Contamination-Free LLM Benchmark [101.21578097087699]
最近の情報ソースから頻繁に更新された質問を含む最初のベンチマークであるLiveBenchをリリースする。
我々は、多くの著名なクローズドソースモデルと、0.5Bから110Bまでの数十のオープンソースモデルを評価した。
質問は毎月追加され、更新されるので、時間とともに新しいタスクとより難しいバージョンのタスクをリリースします。
論文 参考訳(メタデータ) (2024-06-27T16:47:42Z) - SORRY-Bench: Systematically Evaluating Large Language Model Safety Refusal Behaviors [64.9938658716425]
安全でないユーザリクエストを認識して拒否する、大規模な言語モデル(LLM)の既存の評価は、3つの制限に直面している。
まず、既存の手法では、安全でないトピックの粗い粒度を使い、いくつかのきめ細かいトピックを過剰に表現している。
第二に、プロンプトの言語的特徴とフォーマッティングは、様々な言語、方言など、多くの評価において暗黙的にのみ考慮されているように、しばしば見過ごされる。
第3に、既存の評価は大きなLCMに頼っているため、コストがかかる可能性がある。
論文 参考訳(メタデータ) (2024-06-20T17:56:07Z) - The BiGGen Bench: A Principled Benchmark for Fine-grained Evaluation of Language Models with Language Models [94.31327813151208]
BiGGen Benchは、77のタスクにわたるLMの9つの異なる能力を徹底的に評価するために設計された、原則化された世代ベンチマークである。
BiGGen Benchの重要な特徴は、インスタンス固有の評価基準の使用であり、人間の評価のニュアンスな識別を忠実に反映している。
論文 参考訳(メタデータ) (2024-06-09T12:30:30Z) - On the Generalizability of Deep Learning-based Code Completion Across Programming Language Versions [12.245958803682505]
コード補完は統合開発環境(IDE)の重要な特徴である
現代のコード補完アプローチは、しばしばディープラーニング(DL)モデルによって利用される。
これらのモデルは、異なる言語バージョンにまたがって一般化できますか?
論文 参考訳(メタデータ) (2024-03-22T12:05:18Z) - OOP: Object-Oriented Programming Evaluation Benchmark for Large Language
Models [85.73744378691727]
この研究では、431のPythonプログラムを特徴とするOOPにフォーカスした先駆的なベンチマークを紹介した。
本稿では、OOP用に調整された新しい評価基準であるpass@oを提案し、従来のpass@k対策を強化する。
論文 参考訳(メタデータ) (2024-01-12T15:21:36Z) - Large Language Model-Aware In-Context Learning for Code Generation [75.68709482932903]
大規模言語モデル(LLM)は、コード生成において印象的なコンテキスト内学習(ICL)能力を示している。
コード生成のためのLAIL (LLM-Aware In-context Learning) という新しい学習ベース選択手法を提案する。
論文 参考訳(メタデータ) (2023-10-15T06:12:58Z) - A Language Model of Java Methods with Train/Test Deduplication [5.529795221640365]
このツールデモでは、Javaソースコードの言語モデルの研究ツールキットが紹介されている。
対象読者には、Javaのサブルーチン、ステートメント、変数の粒度レベルでの問題を研究する研究者も含まれる。
論文 参考訳(メタデータ) (2023-05-15T00:22:02Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。