論文の概要: Refactoring Detection in C++ Programs with RefactoringMiner++
- arxiv url: http://arxiv.org/abs/2502.17716v1
- Date: Mon, 24 Feb 2025 23:17:35 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-02-26 15:22:39.025196
- Title: Refactoring Detection in C++ Programs with RefactoringMiner++
- Title(参考訳): RefactoringMiner++によるC++プログラムのリファクタリング検出
- Authors: Benjamin Ritz, Aleksandar Karakaš, Denis Helic,
- Abstract要約: RefactoringMiner++は、現在の技術状況に基づいた検出ツールである。
後者はJavaに特化していますが、私たちのツールには、私たちの知る限り、C++プロジェクトで最初に公開された検出ツールがシードされています。
- 参考スコア(独自算出の注目度): 45.045206894182776
- License:
- Abstract: Commits often involve refactorings -- behavior-preserving code modifications aiming at software design improvements. Refactoring operations pose a challenge to code reviewers, as distinguishing them from behavior-altering changes is often not a trivial task. Accordingly, research on automated refactoring detection tools has flourished over the past two decades, however, the majority of suggested tools is limited to Java projects. In this work, we present RefactoringMiner++, a refactoring detection tool based on the current state of the art: RefactoringMiner 3. While the latter focuses exclusively on Java, our tool is -- to the best of our knowledge -- the first publicly available refactoring detection tool for C++ projects. RefactoringMiner's thorough evaluation provides confidence in our tool's performance. In addition, we test RefactoringMiner++ on a small seeded dataset and demonstrate the tool's capability in a short demo involving both refactorings and behavior-altering changes. A screencast demonstrating our tool can be found at https://cloud.tugraz.at/index.php/s/oCzmjfFSaBxNZoe.
- Abstract(参考訳): ソフトウェア設計の改善を目的とした振る舞いを保存するコード修正。
振る舞いを調整する変更と区別するのは簡単な作業ではない場合が多いため、リファクタ操作はコードレビュアにとって課題となる。
そのため、自動リファクタリング検出ツールの研究は過去20年間にわたって盛んに行われてきたが、提案されているツールの大部分はJavaプロジェクトに限定されている。
本稿では、現在の最先端技術に基づくリファクタリング検出ツールであるRefactoringMiner++を紹介する。
後者はJava専用のツールですが、私たちの知る限りでは、C++プロジェクトで最初に公開されたリファクタリング検出ツールです。
RefactoringMinerの徹底的な評価は、ツールのパフォーマンスに自信を与えます。
さらに、小さなシードデータセットでRefactoringMiner++をテストし、リファクタリングと振る舞い変更の両方を含む短いデモで、ツールの機能を示す。
私たちのツールを示すスクリーンキャストは、https://cloud.tugraz.at/index.php/s/oCzmjfFSaBxNZoeにある。
関連論文リスト
- ReF Decompile: Relabeling and Function Call Enhanced Decompile [50.86228893636785]
逆コンパイルの目標は、コンパイルされた低レベルコード(アセンブリコードなど)を高レベルプログラミング言語に変換することである。
このタスクは、脆弱性識別、マルウェア分析、レガシーソフトウェアマイグレーションなど、さまざまなリバースエンジニアリングアプリケーションをサポートする。
論文 参考訳(メタデータ) (2025-02-17T12:38:57Z) - Testing Refactoring Engine via Historical Bug Report driven LLM [6.852749659993347]
リファクタリングは、外部の振る舞いを変えることなく、既存のコードを再構築するプロセスである。
自動エンジンテストのためのフレームワークであるRETESTERを提案する。
論文 参考訳(メタデータ) (2025-01-16T23:31:49Z) - An Empirical Study of Refactoring Engine Bugs [7.412890903261693]
Eclipse、IntelliJ IDEA、Netbeansのバグを分析することで、エンジンのバグに関する最初の体系的な研究を示す。
これらのバグは, タイプ, 症状, 根本原因, トリガー条件によって分析した。
我々のトランスファービリティー調査では、これらのエンジンの最新バージョンに130の新たなバグが見つかった。
論文 参考訳(メタデータ) (2024-09-22T22:09:39Z) - A Novel Refactoring and Semantic Aware Abstract Syntax Tree Differencing Tool and a Benchmark for Evaluating the Accuracy of Diff Tools [2.0625936401496237]
Syntax Tree (AST) diffツールは、ほとんどの開発者が使っている行ベースのdiffツールの制限を克服するために開発された。
上記の制限をすべて解決するRefactoringMinerに基づく新しいAST diffツールを提案する。
当社のツールは,特にコミットにおいて,非互換性ツールに匹敵する実行時間で,大幅な精度の向上とリコールを実現しています。
論文 参考訳(メタデータ) (2024-03-09T15:32:41Z) - 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) - Automating Source Code Refactoring in the Classroom [15.194527511076725]
本稿では,アンチパターン検出と修正をサポートするEclipseプラグインであるJandanrantを用いて,アンチパターンの除去を目的とした各種教室活動の実施に関する実験結果について述べる。
171人の学生による定量的・質的分析の結果、学生は学習の考え方を高く評価し、JDeodorantプラグインの動作の様々な側面に満足していることが示された。
論文 参考訳(メタデータ) (2023-11-05T18:46:00Z) - CRAFT: Customizing LLMs by Creating and Retrieving from Specialized
Toolsets [75.64181719386497]
大規模言語モデル(LLM)のためのツール作成・検索フレームワークであるCRAFTを提案する。
タスク用に特別にキュレートされたツールセットを作成し、複雑なタスクを解決する能力を高めるためにこれらのセットからツールを取得するコンポーネントをLLMに装備する。
本手法はフレキシブルに設計されており,既製のLCMを細かな調整なしに未確認領域やモダリティに適応するためのプラグアンドプレイ方式を提供する。
論文 参考訳(メタデータ) (2023-09-29T17:40:26Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。