論文の概要: You Name It, I Run It: An LLM Agent to Execute Tests of Arbitrary Projects
- arxiv url: http://arxiv.org/abs/2412.10133v1
- Date: Fri, 13 Dec 2024 13:30:51 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-12-16 15:04:19.880032
- Title: You Name It, I Run It: An LLM Agent to Execute Tests of Arbitrary Projects
- Title(参考訳): 任意プロジェクトのテストを実行するLLMエージェント「I Run It」
- Authors: Islem Bouzenia, Michael Pradel,
- Abstract要約: ExecutionAgentは任意のプロジェクトをインストールし、テストケースを実行するように設定し、プロジェクト固有のスクリプトを生成する自動テクニックである。
ExecutionAgentは、14の異なるプログラミング言語と多くの異なるビルドおよびテストツールを使用する50のオープンソースプロジェクトに適用します。
- 参考スコア(独自算出の注目度): 18.129031749321058
- License:
- Abstract: The ability to execute the test suite of a project is essential in many scenarios, e.g., to assess code quality and code coverage, to validate code changes made by developers or automated tools, and to ensure compatibility with dependencies. Despite its importance, executing the test suite of a project can be challenging in practice because different projects use different programming languages, software ecosystems, build systems, testing frameworks, and other tools. These challenges make it difficult to create a reliable, universal test execution method that works across different projects. This paper presents ExecutionAgent, an automated technique that installs arbitrary projects, configures them to run test cases, and produces project-specific scripts to reproduce the setup. Inspired by the way a human developer would address this task, our approach is a large language model-based agent that autonomously executes commands and interacts with the host system. The agent uses meta-prompting to gather guidelines on the latest technologies related to the given project, and it iteratively refines its process based on feedback from the previous steps. Our evaluation applies ExecutionAgent to 50 open-source projects that use 14 different programming languages and many different build and testing tools. The approach successfully executes the test suites of 33/55 projects, while matching the test results of ground truth test suite executions with a deviation of only 7.5\%. These results improve over the best previously available technique by 6.6x. The costs imposed by the approach are reasonable, with an execution time of 74 minutes and LLM costs of 0.16 dollars, on average per project. We envision ExecutionAgent to serve as a valuable tool for developers, automated programming tools, and researchers that need to execute tests across a wide variety of projects.
- Abstract(参考訳): プロジェクトのテストスイートを実行する能力は、コード品質とコードカバレッジの評価、開発者や自動化ツールによるコード変更の検証、依存関係との互換性の確保など、多くのシナリオにおいて不可欠である。
さまざまなプロジェクトが異なるプログラミング言語、ソフトウェアエコシステム、ビルドシステム、テストフレームワーク、その他のツールを使用しているため、プロジェクトのテストスイートの実行は、その重要性にもかかわらず、実際には難しい場合がある。
これらの課題は、異なるプロジェクト間で機能する信頼性のある、普遍的なテスト実行方法を作成するのを難しくする。
本稿では、任意のプロジェクトをインストールし、テストケースを実行するように設定し、セットアップを再現するためのプロジェクト固有のスクリプトを生成する自動手法であるExecutionAgentを提案する。
人間の開発者がこのタスクに対処する方法に触発された私たちのアプローチは、コマンドを自律的に実行し、ホストシステムと対話する、大規模な言語モデルベースのエージェントです。
エージェントはメタプロンプトを使用して、与えられたプロジェクトに関連する最新の技術に関するガイドラインを収集し、前のステップからのフィードバックに基づいてプロセスを反復的に洗練する。
ExecutionAgentは、14の異なるプログラミング言語と多くの異なるビルドおよびテストツールを使用する50のオープンソースプロジェクトに適用します。
このアプローチは33/55プロジェクトのテストスイートを成功裏に実行し、真理テストスイートの実行のテスト結果と7.5\%の偏差を一致させる。
これらの結果は、6.6倍に改善された。
アプローチによって課されるコストは合理的であり、実行時間は74分、LCMはプロジェクトの平均で0.16ドルである。
私たちはExecutionAgentが、開発者、自動プログラミングツール、そしてさまざまなプロジェクトにわたってテストを実行する必要がある研究者にとって価値のあるツールになることを期待しています。
関連論文リスト
- Codev-Bench: How Do LLMs Understand Developer-Centric Code Completion? [60.84912551069379]
Code-Development Benchmark (Codev-Bench)は、細粒度で現実世界、リポジトリレベル、開発者中心の評価フレームワークです。
Codev-Agentは、リポジトリのクローリングを自動化し、実行環境を構築し、既存のユニットテストから動的呼び出しチェーンを抽出し、データ漏洩を避けるために新しいテストサンプルを生成するエージェントベースのシステムである。
論文 参考訳(メタデータ) (2024-10-02T09:11:10Z) - APITestGenie: Automated API Test Generation through Generative AI [2.0716352593701277]
APITestGenieはビジネス要件とAPI仕様から実行可能なAPIテストスクリプトを生成する。
10の現実世界のAPIを使った実験では、ツールが有効なテストスクリプトを57%生成した。
人間の介入は、CI/CDパイプラインに統合される前に生成されたスクリプトを検証または洗練するために推奨される。
論文 参考訳(メタデータ) (2024-09-05T18:02:41Z) - Multi-language Unit Test Generation using LLMs [6.259245181881262]
静的解析を組み込んだジェネリックパイプラインを記述し,コンパイル可能な高カバレッジテストケースの生成においてLCMをガイドする。
パイプラインをさまざまなプログラミング言語、特にJavaとPython、そして環境モックを必要とする複雑なソフトウェアに適用する方法を示します。
以上の結果から,静的解析によって導かれるLCMベースのテスト生成は,最新のテスト生成技術と競合し,さらに性能も向上することが示された。
論文 参考訳(メタデータ) (2024-09-04T21:46:18Z) - DOCE: Finding the Sweet Spot for Execution-Based Code Generation [69.5305729627198]
本稿では,候補生成,$n$-best再ランク,最小ベイズリスク(MBR)復号化,自己老化などを含む包括的フレームワークを提案する。
本研究は,実行ベースメソッドの重要性と,実行ベースメソッドと実行フリーメソッドとの差を明らかにする。
論文 参考訳(メタデータ) (2024-08-25T07:10:36Z) - A System for Automated Unit Test Generation Using Large Language Models and Assessment of Generated Test Suites [1.4563527353943984]
大規模言語モデル(LLM)はソフトウェア開発の様々な側面に適用されている。
Javaプロジェクトのテストスイートを生成する自動化システムであるAgoneTestを紹介します。
論文 参考訳(メタデータ) (2024-08-14T23:02:16Z) - BigCodeBench: Benchmarking Code Generation with Diverse Function Calls and Complex Instructions [72.56339136017759]
BigCodeBenchは、大規模言語モデル(LLM)に対して、139のライブラリと7つのドメインから1140のきめ細かいタスクに対して、複数の関数呼び出しをツールとして呼び出すためのベンチマークである。
評価の結果,LLMは機能コールを正確に使用するための複雑な指示に従うことができず,スコアは最大60%,人的性能は97%と極めて低いことがわかった。
そこで本研究では,BigCodeBench-Instructという自然言語指向の変種を提案する。
論文 参考訳(メタデータ) (2024-06-22T15:52:04Z) - TESTEVAL: Benchmarking Large Language Models for Test Case Generation [15.343859279282848]
大規模言語モデル(LLM)を用いたテストケース生成のための新しいベンチマークであるTESTEVALを提案する。
オンラインプログラミングプラットフォームLeetCodeから210のPythonプログラムを収集し、全体的なカバレッジ、ターゲットライン/ブランチカバレッジ、ターゲットパスカバレッジという3つの異なるタスクを設計します。
特定のプログラム行/ブランチ/パスをカバーするテストケースを生成することは、現在のLLMでは依然として困難である。
論文 参考訳(メタデータ) (2024-06-06T22:07:50Z) - NExT: Teaching Large Language Models to Reason about Code Execution [50.93581376646064]
大規模言語モデル(LLM)のコードは通常、プログラムの表面テキスト形式に基づいて訓練される。
NExTは,プログラムの実行トレースを検査し,実行時の動作を判断する手法である。
論文 参考訳(メタデータ) (2024-04-23T01:46:32Z) - DevEval: Evaluating Code Generation in Practical Software Projects [52.16841274646796]
我々はDevEvalという名の新しいベンチマークを提案し、実践プロジェクトにおける開発者の経験と一致している。
DevEvalは、119の実用的なプロジェクトから2,690のサンプルを含む厳格なパイプラインを通じて収集される。
DevEvalの5つの人気のあるLCMを評価し、コード生成における実際の能力を明らかにする。
論文 参考訳(メタデータ) (2024-01-12T06:51:30Z) - LLM for Test Script Generation and Migration: Challenges, Capabilities,
and Opportunities [8.504639288314063]
テストスクリプト生成はソフトウェアテストの重要なコンポーネントであり、反復的なテストタスクの効率的かつ信頼性の高い自動化を可能にする。
既存の世代のアプローチは、さまざまなデバイス、プラットフォーム、アプリケーション間でテストスクリプトを正確にキャプチャし、再現することの難しさなど、しばしば制限に直面する。
本稿では,モバイルアプリケーションテストスクリプト生成分野における大規模言語モデル(LLM)の適用について検討する。
論文 参考訳(メタデータ) (2023-09-24T07:58:57Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。