論文の概要: Code Clone Refactoring in C# with Lambda Expressions
- arxiv url: http://arxiv.org/abs/2512.21511v1
- Date: Thu, 25 Dec 2025 05:14:49 GMT
- ステータス: 情報取得中
- システム内更新日: 2025-12-29 12:07:09.785246
- Title: Code Clone Refactoring in C# with Lambda Expressions
- Title(参考訳): Lambda式でC#でコードクローンをリファクタリング
- Authors: Takuto Kawamoto, Yoshiki Higo,
- Abstract要約: 抽出方法(Extract Method)は、コードクローンを統合する手法である。
ラムダ式は振る舞いのパラメータ化に使用することができるが、各プログラミング言語の仕様は、このテクニックの適用性に大きな影響を及ぼす。
本研究では,コードクローンの解析に式を用いるC#固有の手法を提案する。
- 参考スコア(独自算出の注目度): 0.49416305961918044
- License:
- Abstract: "Extract Method" refactoring is a technique for consolidating code clones. Parameterization approaches are used to extract a single method from multiple code clones that contain differences. This approach parameterizes expressions and behaviors within a method. In particular, behavior parameterization has been extensively studied in Java programs, but little research has been conducted on other programming languages. Lambda expressions can be used to parameterize behaviors, but the specifications of each programming language significantly affect the applicability of this technique. Therefore, the optimal "Extract Method" approach may vary depending on the programming language. In this study, we propose a C#-specific technique that uses lambda expressions to analyze and consolidate code clones. We evaluated our proposed method by applying it to code clones detected by the NiCad clone detector and measuring how many of them could be successfully consolidated. In total, 2,217 clone pairs from 22 projects were included in our evaluation. For the clone pairs determined to be refactorable, we also attempted refactoring actually. The proposed approach determined that 35.0% of all clone pairs were suitable for refactoring. Among these, 28.9% were successfully refactored.
- Abstract(参考訳): 抽出メソッド」リファクタリングは、コードクローンを統合するためのテクニックです。
パラメータ化アプローチは、違いを含む複数のコードクローンから1つのメソッドを抽出するために使用される。
このアプローチは、メソッド内の表現と振舞いをパラメータ化する。
特に、振る舞いパラメータ化はJavaプログラムで広く研究されているが、他のプログラミング言語ではほとんど研究されていない。
ラムダ式は振る舞いのパラメータ化に使用することができるが、各プログラミング言語の仕様は、このテクニックの適用性に大きな影響を及ぼす。
したがって、最適な「抽出方法」アプローチはプログラミング言語によって異なる可能性がある。
本研究では,ラムダ式を用いてコードクローンの解析と統合を行うC#固有の手法を提案する。
提案手法は,NiCadクローン検出器で検出されたコードクローンに適用し,何個のコードクローンを正常に統合できるかを計測することによって評価した。
評価には22件のプロジェクトから2,217件のクローンペアを投入した。
リファクタリング可能と判断されたクローンペアに対して、私たちは実際にリファクタリングを試みた。
提案されたアプローチでは、すべてのクローンペアの35.0%がリファクタリングに適していると判断された。
このうち28.9%が改修に成功している。
関連論文リスト
- Code Refactoring with LLM: A Comprehensive Evaluation With Few-Shot Settings [0.0]
本研究の目的は,言語(C,C++,C#,Python,Java)間で,正確かつ効率的なコード実行が可能なフレームワークを開発することである。
Javaは10ショット設定で99.99%までの全体的な正しさを達成し、オリジナルのソースコードと比較して94.78%の平均的なコンパイル可能性を記録した。
論文 参考訳(メタデータ) (2025-11-26T14:47:52Z) - HyClone: Bridging LLM Understanding and Dynamic Execution for Semantic Code Clone Detection [3.2167919219391474]
コードクローン検出(Code clone detection)は、ソフトウェア工学において重要なタスクであり、ソフトウェアシステム内の重複や類似のコードフラグメントを識別することを目的としている。
大規模言語モデル(LLM)の最近の進歩は、コードセマンティクスの理解において有望であることを示している。
LLMに基づくスクリーニングと,Pythonプログラムのセマンティッククローンを検出するための実行ベースの検証を組み合わせた,新しい2段階のフレームワークを提案する。
論文 参考訳(メタデータ) (2025-08-02T13:11:56Z) - Recommending Variable Names for Extract Local Variable Refactorings [4.6621580809860514]
VarNamerはローカル変数を抽出する変数名を推奨する自動アプローチである。
VarNamerは、Eclipseと比較して52.6%、IntelliJ IDEAに比べて40.7%、正確なマッチングの可能性を大幅に向上させた。
論文 参考訳(メタデータ) (2025-07-01T03:58:43Z) - Rethinking Code Refinement: Learning to Judge Code Efficiency [60.04718679054704]
大規模言語モデル(LLM)は、コードを理解して生成する素晴らしい能力を示しています。
本稿では,2つの異なる符号間の効率を判定するために訓練されたコード言語モデルに基づく新しい手法を提案する。
提案手法は,複数の改良ステップで複数のプログラミング言語に対して検証し,より効率的で少ないバージョンのコードの識別を効果的に行うことができることを示した。
論文 参考訳(メタデータ) (2024-10-29T06:17:37Z) - AdaCCD: Adaptive Semantic Contrasts Discovery Based Cross Lingual
Adaptation for Code Clone Detection [69.79627042058048]
AdaCCDは、その言語でアノテーションを使わずに、新しい言語のクローンコードを検出する新しい言語間適応手法である。
5つのプログラミング言語からなる多言語コードクローン検出ベンチマークを構築し,AdaCCDの言語間適応性を評価する。
論文 参考訳(メタデータ) (2023-11-13T12:20:48Z) - Opti Code Pro: A Heuristic Search-based Approach to Code Refactoring [0.0]
コードの動機は、機能を変更することなく、既存のプログラムの設計、構造、実装を改善することである。
結合と凝集の非常に特異な問題を解くために,全コード問題の近似に探索に基づく手法を適用することを提案する。
論文 参考訳(メタデータ) (2023-05-12T16:39:38Z) - Supporting single responsibility through automated extract method
refactoring [48.0838443679187]
本稿では,長いメソッドを少し重なり合うスライスに分解する後方スライスアルゴリズムを提案する。
スライスは各出力命令に対して計算され、メソッドに委譲された責任の結果を表す。
平均して、我々の実験は、少なくとも29.6%の精度の向上と、発見される機会のリコールにおける12.1%の改善を実証した。
論文 参考訳(メタデータ) (2023-05-05T11:02:02Z) - Interactive Code Generation via Test-Driven User-Intent Formalization [60.90035204567797]
大きな言語モデル(LLM)は、非公式な自然言語(NL)の意図からコードを生成する。
自然言語は曖昧であり、形式的な意味論が欠けているため、正確性の概念を定義するのは難しい。
言語に依存しない抽象アルゴリズムと具体的な実装TiCoderについて述べる。
論文 参考訳(メタデータ) (2022-08-11T17:41:08Z) - Semantic Clone Detection via Probabilistic Software Modeling [69.43451204725324]
本稿では,0%の構文的類似性を有するクローンを検出する意味的クローン検出手法を提案する。
我々は,SCD-PSMをセマンティッククローン検出のための安定かつ高精度なソリューションとして提示する。
論文 参考訳(メタデータ) (2020-08-11T17:54:20Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。