論文の概要: Testing Refactoring Engine via Historical Bug Report driven LLM
- arxiv url: http://arxiv.org/abs/2501.09879v2
- Date: Wed, 22 Jan 2025 01:38:36 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-01-23 13:30:43.764700
- Title: Testing Refactoring Engine via Historical Bug Report driven LLM
- Title(参考訳): 歴史的バグレポート駆動LLMによるリファクタリングエンジンのテスト
- Authors: Haibo Wang, Zhuolin Xu, Shin Hwei Tan,
- Abstract要約: リファクタリングは、外部の振る舞いを変えることなく、既存のコードを再構築するプロセスである。
自動エンジンテストのためのフレームワークであるRETESTERを提案する。
- 参考スコア(独自算出の注目度): 6.852749659993347
- License:
- Abstract: Refactoring is the process of restructuring existing code without changing its external behavior while improving its internal structure. Refactoring engines are integral components of modern Integrated Development Environments (IDEs) and can automate or semi-automate this process to enhance code readability, reduce complexity, and improve the maintainability of software products. Similar to traditional software systems such as compilers, refactoring engines may also contain bugs that can lead to unexpected behaviors. In this paper, we propose a novel approach called RETESTER, a LLM-based framework for automated refactoring engine testing. Specifically, by using input program structure templates extracted from historical bug reports and input program characteristics that are error-prone, we design chain-of-thought (CoT) prompts to perform refactoring-preserving transformations. The generated variants are then tested on the latest version of refactoring engines using differential testing. We evaluate RETESTER on two most popular modern refactoring engines (i.e., ECLIPSE, and INTELLIJ IDEA). It successfully revealed 18 new bugs in the latest version of those refactoring engines. By the time we submit our paper, seven of them were confirmed by their developers, and three were fixed.
- Abstract(参考訳): リファクタリングは、内部構造を改善しながら、外部の振る舞いを変更することなく、既存のコードを再構築するプロセスである。
リファクタリングエンジンは、現代の統合開発環境(IDE)の不可欠なコンポーネントであり、このプロセスを自動化または半自動化することで、コードの可読性を高め、複雑さを減らし、ソフトウェア製品の保守性を向上させることができる。
コンパイラのような従来のソフトウェアシステムと同様、リファクタリングエンジンにも予期しない動作につながるバグが含まれている可能性がある。
本稿では,自動リファクタリングエンジンテストのためのLLMベースのフレームワークであるRETESTERを提案する。
具体的には、過去のバグレポートから抽出した入力プログラム構造テンプレートとエラーが発生しやすい入力プログラム特性を用いて、リファクタリング保存変換を行うためのチェーン・オブ・思想(CoT)のプロンプトを設計する。
生成された変種は、ディファレンシャルテストを使用して、リファクタリングエンジンの最新バージョンでテストされる。
我々は、RETESTERを2つの最も人気のあるモダンリファクタリングエンジン(ECLIPSEとINTELLIJ IDEA)で評価する。
これらのリファクタリングエンジンの最新バージョンで18の新たなバグが明らかになった。
私たちが論文を提出する頃には、その中の7つが開発者によって確認され、3つが修正されました。
関連論文リスト
- Specifications: The missing link to making the development of LLM systems an engineering discipline [65.10077876035417]
我々は、構造化出力、プロセスの監督、テストタイム計算など、これまでの分野の進歩について論じる。
モジュール型かつ信頼性の高いLCMシステムの開発に向けた研究の今後の方向性について概説する。
論文 参考訳(メタデータ) (2024-11-25T07:48:31Z) - An Empirical Study on the Potential of LLMs in Automated Software Refactoring [9.157968996300417]
自動ソフトウェアにおける大規模言語モデル(LLM)の可能性について検討する。
私たちは、ChatGPTが提案した176のソリューションのうち13と、Geminiが提案した137のソリューションのうち9が、ソースコードの機能を変更したり、構文エラーを導入したりすることを安全でないことに気付きました。
論文 参考訳(メタデータ) (2024-11-07T05:35:55Z) - Automated Unit Test Refactoring [10.847400457238423]
テストの臭いは、設計プラクティスの貧弱さとドメイン知識の不足から生じます。
我々は,Javaプロジェクトにおける自動テストのための文脈拡張型LLMベースのフレームワークUTRefactorを提案する。
6つのオープンソースのJavaプロジェクトから879のテストに対してUTRefactorを評価し、テストの匂いを2,375から265に減らし、89%の削減を実現した。
論文 参考訳(メタデータ) (2024-09-25T08:42:29Z) - An Empirical Study of Refactoring Engine Bugs [7.412890903261693]
Eclipse、IntelliJ IDEA、Netbeansのバグを分析することで、エンジンのバグに関する最初の体系的な研究を示す。
これらのバグは, タイプ, 症状, 根本原因, トリガー条件によって分析した。
我々のトランスファービリティー調査では、これらのエンジンの最新バージョンに130の新たなバグが見つかった。
論文 参考訳(メタデータ) (2024-09-22T22:09:39Z) - CodeRAG-Bench: Can Retrieval Augment Code Generation? [78.37076502395699]
検索拡張生成を用いたコード生成の系統的,大規模な解析を行う。
まず、コード生成タスクの3つのカテゴリを含む総合的な評価ベンチマークであるCodeRAG-Benchをキュレートする。
CodeRAG-Bench上のトップパフォーマンスモデルについて、1つまたは複数のソースから検索したコンテキストを提供することにより検討する。
論文 参考訳(メタデータ) (2024-06-20T16:59:52Z) - ReGAL: Refactoring Programs to Discover Generalizable Abstractions [59.05769810380928]
Generalizable Abstraction Learning (ReGAL)は、再利用可能な関数のライブラリをコード化して学習する手法である。
ReGALによって発見された共有関数ライブラリは、プログラムが様々な領域で容易に予測できることを示している。
CodeLlama-13Bでは、ReGALはLOGOで11.5%、日付理解で26.1%、TextCraftで8.1%という絶対精度が向上し、3つのドメインのうち2つでGPT-3.5を上回った。
論文 参考訳(メタデータ) (2024-01-29T18:45:30Z) - RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic
Program Repair [75.40584530380589]
新たな検索型パッチ生成フレームワーク(RAP-Gen)を提案する。
RAP-Gen 以前のバグ修正ペアのリストから取得した関連する修正パターンを明示的に活用する。
RAP-GenをJavaScriptのTFixベンチマークとJavaのCode RefinementとDefects4Jベンチマークの2つのプログラミング言語で評価する。
論文 参考訳(メタデータ) (2023-09-12T08:52:56Z) - RefBERT: A Two-Stage Pre-trained Framework for Automatic Rename
Refactoring [57.8069006460087]
本研究では,他のリネーム活動よりも難易度の高い変数名の自動改名について検討する。
変数名に対する名前変更のための2段階事前訓練フレームワークであるRefBERTを提案する。
RefBERTの変数名は既存の手法よりも正確で有意義であることを示す。
論文 参考訳(メタデータ) (2023-05-28T12:29:39Z) - Do code refactorings influence the merge effort? [80.1936417993664]
複数のコントリビュータがソースコードを並行して変更して,新機能の実装やバグの修正,既存のコードの変更などを行っている。
これらの同時変更は、ソースコードの同じバージョンにマージする必要がある。
研究によると、すべてのマージの試みの10~20%が衝突を起こしており、これはプロセスを完了するために手動開発者の介入を必要とする。
論文 参考訳(メタデータ) (2023-05-10T13:24:59Z) - How We Refactor and How We Document it? On the Use of Supervised Machine
Learning Algorithms to Classify Refactoring Documentation [25.626914797750487]
リファクタリングは、外部の振る舞いを変えることなく、システムの設計を改善する技術である。
この研究はコミットを、従来のBugFixやFunctionalのカテゴリとともに、内部QA、外部QA、Code Smell Resolutionの3つのカテゴリに分類する。
分類結果をよりよく理解するために、私たちはコミットメッセージを分析して、開発者が定期的に臭いを説明するために使用するパターンを抽出しました。
論文 参考訳(メタデータ) (2020-10-26T20:33:17Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。