論文の概要: Chat-like Asserts Prediction with the Support of Large Language Model
- arxiv url: http://arxiv.org/abs/2407.21429v1
- Date: Wed, 31 Jul 2024 08:27:03 GMT
- ステータス: 処理完了
- システム内更新日: 2024-08-01 18:22:18.002419
- Title: Chat-like Asserts Prediction with the Support of Large Language Model
- Title(参考訳): 大規模言語モデルを用いたチャット型アサート予測
- Authors: Han Wang, Han Hu, Chunyang Chen, Burak Turhan,
- Abstract要約: 我々は,Pythonプロジェクトで有意義なアサート文を生成するために,Chatライクな実行ベースのアサート予測(tool)を導入する。
ツールはペルソナ、Chain-of-Thought、ワンショットの学習技術を利用して、迅速な設計を行い、LLMやPythonインタプリタと通信する。
評価の結果, 単一アサーション文生成では64.7%, 全体アサーション文生成では62%の精度が得られた。
- 参考スコア(独自算出の注目度): 34.140962210930624
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Unit testing is an essential component of software testing, with the assert statements playing an important role in determining whether the tested function operates as expected. Although research has explored automated test case generation, generating meaningful assert statements remains an ongoing challenge. While several studies have investigated assert statement generation in Java, limited work addresses this task in popular dynamically-typed programming languages like Python. In this paper, we introduce Chat-like execution-based Asserts Prediction (\tool), a novel Large Language Model-based approach for generating meaningful assert statements for Python projects. \tool utilizes the persona, Chain-of-Thought, and one-shot learning techniques in the prompt design, and conducts rounds of communication with LLM and Python interpreter to generate meaningful assert statements. We also present a Python assert statement dataset mined from GitHub. Our evaluation demonstrates that \tool achieves 64.7\% accuracy for single assert statement generation and 62\% for overall assert statement generation, outperforming the existing approaches. We also analyze the mismatched assert statements, which may still share the same functionality and discuss the potential help \tool could offer to the automated Python unit test generation. The findings indicate that \tool has the potential to benefit the SE community through more practical usage scenarios.
- Abstract(参考訳): 単体テストはソフトウェアテストの重要なコンポーネントであり、アサーションステートメントはテストされた関数が期待通りに動作しているかどうかを決定する上で重要な役割を果たす。
研究は自動テストケース生成を探求しているが、意味のあるアサーションの生成は今も進行中の課題である。
Javaでアサート文の生成を調査する研究はいくつかあるが、Pythonのような動的型付け言語でこの課題に対処する作業は限られている。
本稿では,Pythonプロジェクトで意味のあるアサーションを生成するための,大規模言語モデルに基づく新しいアプローチであるChat-like execution-based Asserts Prediction (\tool)を紹介する。
\toolはペルソナ、Chain-of-Thought、ワンショットの学習技術を利用してプロンプト設計を行い、LLMやPythonインタプリタと通信して意味のあるアサート文を生成する。
また、GitHubから抽出されたPythonアサートステートメントデータセットも提示します。
評価の結果, 単一アサーション文生成では64.7 %, 全体アサーション文生成では62 %, 既存のアプローチより優れていた。
我々はまた、同じ機能を共有している不一致のアサーションステートメントを分析し、自動化されたPythonユニットテスト生成に対して \toolがもたらす潜在的助けについて議論する。
この結果から,より実践的な利用シナリオを通じて,‘tool’ が SE コミュニティにメリットをもたらす可能性が示唆された。
関連論文リスト
- ASSERTIFY: Utilizing Large Language Models to Generate Assertions for Production Code [0.7973214627863593]
プロダクションアサーションは、開発者がコードに関する仮定を検証するのを助けるために、コードに埋め込まれたステートメントである。
静的解析やディープラーニングのような現在のアサーション生成技術は、プロダクションアサーションの生成に関して不足している。
このプレプリントは、LLM(Large Language Models)を活用した自動エンドツーエンドツールであるAssertifyを導入し、エンジニアリングにプロダクションアサーションを生成することで、ギャップに対処する。
論文 参考訳(メタデータ) (2024-11-25T20:52:28Z) - Multi-language Unit Test Generation using LLMs [6.259245181881262]
静的解析を組み込んだジェネリックパイプラインを記述し,コンパイル可能な高カバレッジテストケースの生成においてLCMをガイドする。
パイプラインをさまざまなプログラミング言語、特にJavaとPython、そして環境モックを必要とする複雑なソフトウェアに適用する方法を示します。
以上の結果から,静的解析によって導かれるLCMベースのテスト生成は,最新のテスト生成技術と競合し,さらに性能も向上することが示された。
論文 参考訳(メタデータ) (2024-09-04T21:46:18Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - 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) - AVATAR: A Parallel Corpus for Java-Python Program Translation [77.86173793901139]
プログラム翻訳とは、ある言語から別の言語へソースコードを移行することを指す。
AVATARは9,515のプログラミング問題とそのソリューションをJavaとPythonという2つの人気のある言語で記述したものです。
論文 参考訳(メタデータ) (2021-08-26T05:44:20Z) - Infusing Finetuning with Semantic Dependencies [62.37697048781823]
シンタックスとは異なり、セマンティクスは今日の事前訓練モデルによって表面化されないことを示す。
次に、畳み込みグラフエンコーダを使用して、タスク固有の微調整にセマンティック解析を明示的に組み込む。
論文 参考訳(メタデータ) (2020-12-10T01:27:24Z) - 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) - Exploring Software Naturalness through Neural Language Models [56.1315223210742]
ソフトウェア自然性仮説(Software Naturalness hypothesis)は、自然言語処理で使用されるのと同じ手法でプログラミング言語を理解することができると主張している。
この仮説は,事前学習されたトランスフォーマーベース言語モデルを用いて,コード解析タスクを実行することによって検討する。
論文 参考訳(メタデータ) (2020-06-22T21:56:14Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。