論文の概要: JustinANN: Realistic Test Generation for Java Programs Driven by Annotations
- arxiv url: http://arxiv.org/abs/2505.05715v1
- Date: Fri, 09 May 2025 01:31:46 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-05-12 20:40:10.122064
- Title: JustinANN: Realistic Test Generation for Java Programs Driven by Annotations
- Title(参考訳): JustinANN: アノテーションによって駆動されるJavaプログラムの現実的なテスト生成
- Authors: Baoquan Cui, Rong Qu, Jian Zhang,
- Abstract要約: 我々は,Javaプログラムのテストケースを生成する柔軟でスケーラブルなツールであるJustinANNを提案する。
私たちのアプローチは、要件ドメインの境界内と外部でテストデータを生成するのが簡単です。
- 参考スコア(独自算出の注目度): 8.620106576663622
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Automated test case generation is important. However, the automatically generated test input does not always make sense, and the automated assertion is difficult to validate against the program under test. In this paper, we propose JustinANN, a flexible and scalable tool to generate test cases for Java programs, providing realistic test inputs and assertions. We have observed that, in practice, Java programs contain a large number of annotations from programs, which can be considered as part of the user specification. We design a systematic annotation set with 7 kinds of annotations and 4 combination rules based on them to modify complex Java objects. Annotations that modify the fields or return variables of methods can be used to generate assertions that represent the true intent of the program, and the ones that modify the input parameters can be used to generate test inputs that match the real business requirement. We have conducted experiments to evaluate the approach on open source Java programs. The results show that the annotations and their combinations designed in this paper are compatible with existing annotations; our approach is easier to generate test data in, on and outside the boundaries of the requirement domain; and it also helps to find program defects.
- Abstract(参考訳): 自動テストケース生成が重要です。
しかし、自動生成されたテスト入力は必ずしも意味を持たず、自動アサーションはテスト中のプログラムに対して検証が難しい。
本稿では,Javaプログラムのテストケースを生成し,現実的なテストインプットとアサーションを提供する,フレキシブルでスケーラブルなツールJustinANNを提案する。
我々は,実際にJavaプログラムには,ユーザ仕様の一部として考慮可能な,多数のアノテーションが含まれていることを見てきた。
複雑なJavaオブジェクトを修正するため、7種類のアノテーションと4つの組み合わせルールを備えた体系的なアノテーションセットを設計する。
フィールドやメソッドの戻り変数を変更するアノテーションは、プログラムの真の意味を表すアサーションを生成するために使用することができ、入力パラメータを変更するアノテーションは、実際のビジネス要件にマッチするテストインプットを生成するために使用することができる。
我々は,オープンソースJavaプログラムに対するアプローチを評価する実験を行った。
その結果、本論文で設計されたアノテーションとそれらの組み合わせは、既存のアノテーションと互換性があることが示され、我々のアプローチは、要件ドメインの境界内および外におけるテストデータを簡単に生成でき、また、プログラムの欠陥を見つけるのにも役立ちます。
関連論文リスト
- Automated Test Generation from Program Documentation Encoded in Code Comments [4.696083734269232]
本稿では,コード・コンポジション・ドキュメンテーションを構築的に活用する新しいテスト生成手法を提案する。
テストケースに、ターゲットの振る舞いを適切にコンテキスト化された名前とオラクルを提供します。
論文 参考訳(メタデータ) (2025-04-29T20:23:56Z) - Understanding and Characterizing Mock Assertions in Unit Tests [12.96550571237691]
その重要性にもかかわらず、モックアサーションは自動テスト生成技術ではめったに考慮されない。
11の人気のあるJavaプロジェクトの4,652のテストケースを分析してみると、特定のメソッド呼び出しの検証にモックアサーションが主に適用されていることが分かります。
モックアサーションは従来のテストアサーションを補完し、望ましい副作用が生成されることを保証します。
論文 参考訳(メタデータ) (2025-03-25T02:35:05Z) - LLM-based Unit Test Generation for Dynamically-Typed Programs [16.38145000434927]
TypeTestは、ベクトルベースのRetrieval-Augmented Generationシステムを通じて、テスト生成における型正しさを高める新しいフレームワークである。
125の現実世界のPythonモジュールの評価において、TypeTestは平均で86.6%、ブランチで76.8%を獲得し、それぞれ5.4%、9.3%の最先端ツールを上回った。
論文 参考訳(メタデータ) (2025-03-18T08:07:17Z) - Learning to Generate Unit Tests for Automated Debugging [52.63217175637201]
ユニットテスト(UT)は、コードの正確性を評価するだけでなく、大きな言語モデル(LLM)にフィードバックを提供する上でも重要な役割を果たします。
提案するUTGenは,LLMに対して,予測出力とともにエラーを示す単体テスト入力を生成することを教える。
UTGen は他の LLM ベースラインを7.59% 上回っていることを示す。
論文 参考訳(メタデータ) (2025-02-03T18:51:43Z) - Commit0: Library Generation from Scratch [77.38414688148006]
Commit0は、AIエージェントにスクラッチからライブラリを書くよう促すベンチマークである。
エージェントには、ライブラリのAPIを概説する仕様文書と、インタラクティブなユニットテストスイートが提供されている。
Commit0はまた、モデルが生成したコードに対して静的解析と実行フィードバックを受け取る、インタラクティブな環境も提供する。
論文 参考訳(メタデータ) (2024-12-02T18:11:30Z) - 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) - Generative Judge for Evaluating Alignment [84.09815387884753]
本稿では,これらの課題に対処するために,13Bパラメータを持つ生成判断器Auto-Jを提案する。
我々のモデルは,大規模な実環境シナリオ下でのユーザクエリとLLM生成応答に基づいて訓練されている。
実験的に、Auto-Jはオープンソースモデルとクローズドソースモデルの両方を含む、強力なライバルのシリーズを上回っている。
論文 参考訳(メタデータ) (2023-10-09T07:27:15Z) - TypeT5: Seq2seq Type Inference using Static Analysis [51.153089609654174]
本稿では,型予測をコード入力タスクとして扱う新しい型推論手法を提案する。
本手法では静的解析を用いて,型シグネチャがモデルによって予測されるコード要素毎に動的コンテキストを構築する。
また,モデルの入力コンテキストに事前の型予測を組み込んだ反復復号方式を提案する。
論文 参考訳(メタデータ) (2023-03-16T23:48:00Z) - Interactive Code Generation via Test-Driven User-Intent Formalization [60.90035204567797]
大きな言語モデル(LLM)は、非公式な自然言語(NL)の意図からコードを生成する。
自然言語は曖昧であり、形式的な意味論が欠けているため、正確性の概念を定義するのは難しい。
言語に依存しない抽象アルゴリズムと具体的な実装TiCoderについて述べる。
論文 参考訳(メタデータ) (2022-08-11T17:41:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。