論文の概要: ASSERTIFY: Utilizing Large Language Models to Generate Assertions for Production Code
- arxiv url: http://arxiv.org/abs/2411.16927v1
- Date: Mon, 25 Nov 2024 20:52:28 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-11-27 13:33:07.058191
- Title: ASSERTIFY: Utilizing Large Language Models to Generate Assertions for Production Code
- Title(参考訳): ASSERTIFY: 大規模言語モデルを用いた生産コード用テンプレート生成
- Authors: Mohammad Jalili Torkamani, Abhinav Sharma, Nikita Mehrotra, Rahul Purandare,
- Abstract要約: プロダクションアサーションは、開発者がコードに関する仮定を検証するのを助けるために、コードに埋め込まれたステートメントである。
静的解析やディープラーニングのような現在のアサーション生成技術は、プロダクションアサーションの生成に関して不足している。
このプレプリントは、LLM(Large Language Models)を活用した自動エンドツーエンドツールであるAssertifyを導入し、エンジニアリングにプロダクションアサーションを生成することで、ギャップに対処する。
- 参考スコア(独自算出の注目度): 0.7973214627863593
- License:
- Abstract: Production assertions are statements embedded in the code to help developers validate their assumptions about the code. They assist developers in debugging, provide valuable documentation, and enhance code comprehension. Current research in this area primarily focuses on assertion generation for unit tests using techniques, such as static analysis and deep learning. While these techniques have shown promise, they fall short when it comes to generating production assertions, which serve a different purpose. This preprint addresses the gap by introducing Assertify, an automated end-to-end tool that leverages Large Language Models (LLMs) and prompt engineering with few-shot learning to generate production assertions. By creating context-rich prompts, the tool emulates the approach developers take when creating production assertions for their code. To evaluate our approach, we compiled a dataset of 2,810 methods by scraping 22 mature Java repositories from GitHub. Our experiments demonstrate the effectiveness of few-shot learning by producing assertions with an average ROUGE-L score of 0.526, indicating reasonably high structural similarity with the assertions written by developers. This research demonstrates the potential of LLMs in automating the generation of production assertions that resemble the original assertions.
- Abstract(参考訳): プロダクションアサーションは、開発者がコードに関する仮定を検証するのを助けるために、コードに埋め込まれたステートメントである。
デバッグを支援し、貴重なドキュメンテーションを提供し、コードの理解を強化する。
この領域における現在の研究は、主に静的解析やディープラーニングといった技術を用いた単体テストのアサーション生成に焦点を当てている。
これらのテクニックは将来性を示しているが、プロダクションアサーションの生成に関しては不足している。
このプレプリントは、LLM(Large Language Models)を活用した自動エンドツーエンドツールであるAssertifyを導入し、数ショットの学習でエンジニアリングを促してプロダクションアサーションを生成することで、ギャップに対処する。
コンテキストリッチなプロンプトを作成することで、このツールは、開発者がコードのためにプロダクションアサーションを作成する際のアプローチをエミュレートする。
このアプローチを評価するために、GitHubから22の成熟したJavaリポジトリをスクレイピングすることで、2,810のメソッドのデータセットをコンパイルしました。
実験では, 平均ROUGE-Lスコア0.526でアサーションを生成し, 開発者によるアサーションと構造的類似性が高いことを示す。
本研究は、従来のアサーションに類似した生産アサーションの自動生成におけるLLMの可能性を示す。
関連論文リスト
- Language Models can Self-Lengthen to Generate Long Texts [74.96074422345806]
本稿では,Self-Lengthenというイノベーティブな反復学習フレームワークを紹介する。
補助的なデータやプロプライエタリなモデルを必要としない、大規模言語モデルの本質的な知識とスキルのみを活用する。
ベンチマークと人的評価の実験により、Self-Lengthenは長文生成において既存の手法よりも優れていることが示された。
論文 参考訳(メタデータ) (2024-10-31T13:47:10Z) - Codev-Bench: How Do LLMs Understand Developer-Centric Code Completion? [60.84912551069379]
Code-Development Benchmark (Codev-Bench)は、細粒度で現実世界、リポジトリレベル、開発者中心の評価フレームワークです。
Codev-Agentは、リポジトリのクローリングを自動化し、実行環境を構築し、既存のユニットテストから動的呼び出しチェーンを抽出し、データ漏洩を避けるために新しいテストサンプルを生成するエージェントベースのシステムである。
論文 参考訳(メタデータ) (2024-10-02T09:11:10Z) - CodeRAG-Bench: Can Retrieval Augment Code Generation? [78.37076502395699]
検索拡張生成を用いたコード生成の系統的,大規模な解析を行う。
まず、コード生成タスクの3つのカテゴリを含む総合的な評価ベンチマークであるCodeRAG-Benchをキュレートする。
CodeRAG-Bench上のトップパフォーマンスモデルについて、1つまたは複数のソースから検索したコンテキストを提供することにより検討する。
論文 参考訳(メタデータ) (2024-06-20T16:59:52Z) - Laurel: Generating Dafny Assertions Using Large Language Models [2.6942525604796366]
本稿では,大規模な言語モデル(LLM)を用いて,Dafnyプログラムのヘルパーアサーションを自動的に生成するツールであるLaurillを提案する。
Laurelは数回の試行で、必要なヘルパーアサーションの50%以上を生成することができる。
論文 参考訳(メタデータ) (2024-05-27T03:26:01Z) - Test-Driven Development for Code Generation [0.850206009406913]
大きな言語モデル(LLM)は、問題ステートメントから直接コードスニペットを生成する重要な機能を示している。
本稿では,テスト駆動開発(TDD)をAI支援コード生成プロセスに組み込む方法について検討する。
論文 参考訳(メタデータ) (2024-02-21T04:10:12Z) - SAGA: Summarization-Guided Assert Statement Generation [34.51502565985728]
本稿では,アサート文の自動生成のための新しい要約誘導手法を提案する。
我々は、事前訓練された言語モデルを参照アーキテクチャとして利用し、アサート文生成のタスクでそれを微調整する。
論文 参考訳(メタデータ) (2023-05-24T07:03:21Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - Interactive Code Generation via Test-Driven User-Intent Formalization [60.90035204567797]
大きな言語モデル(LLM)は、非公式な自然言語(NL)の意図からコードを生成する。
自然言語は曖昧であり、形式的な意味論が欠けているため、正確性の概念を定義するのは難しい。
言語に依存しない抽象アルゴリズムと具体的な実装TiCoderについて述べる。
論文 参考訳(メタデータ) (2022-08-11T17:41:08Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - ReAssert: Deep Learning for Assert Generation [3.8174671362014956]
本稿では、JUnitテストアサーションの自動生成のためのアプローチであるRE-ASSERTを提案する。
これは、学習に正確なコード・トゥ・テストのトレーサビリティを使用して、プロジェクトを個別にターゲットすることで達成される。
我々はまた、最先端のディープラーニングモデルであるReformerと、ReAssertと既存のアプローチであるATLASを評価するための以前の2つのモデルも利用しています。
論文 参考訳(メタデータ) (2020-11-19T11:55:59Z) - Generating Accurate Assert Statements for Unit Test Cases using
Pretrained Transformers [10.846226514357866]
単体テストは、ソフトウェアテストピラミッドの基礎となる基礎である。
正確で有用なアサーション文を生成することによって、開発者が単体テストケースを書くのを支援するアプローチを提案する。
論文 参考訳(メタデータ) (2020-09-11T19:35:09Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。