WEKO3
アイテム
C#におけるラムダ式を用いたメソッドの抽出リファクタリングによるコードクローン集約
https://doi.org/10.20729/0002009076
https://doi.org/10.20729/0002009076799ec1a5-9e82-45d7-bbcb-7fea97087a1d
| 名前 / ファイル | ライセンス | アクション |
|---|---|---|
|
2028年4月15日からダウンロード可能です。
|
Copyright (c) 2026 by the Information Processing Society of Japan
|
|
| 非会員:¥660, IPSJ:学会員:¥330, 論文誌:会員:¥0, DLIB:会員:¥0 | ||
| Item type | Journal(1) | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 公開日 | 2026-04-15 | |||||||||
| タイトル | ||||||||||
| 言語 | ja | |||||||||
| タイトル | C#におけるラムダ式を用いたメソッドの抽出リファクタリングによるコードクローン集約 | |||||||||
| タイトル | ||||||||||
| 言語 | en | |||||||||
| タイトル | A Technique to Remove Code Clone by Applying Extract Method Refactoring with Lambda Expression for C# | |||||||||
| 言語 | ||||||||||
| 言語 | jpn | |||||||||
| キーワード | ||||||||||
| 主題Scheme | Other | |||||||||
| 主題 | [特集:ソフトウェア工学] コードクローン,リファクタリング,メソッドの抽出,ラムダ式 | |||||||||
| 資源タイプ | ||||||||||
| 資源タイプ識別子 | http://purl.org/coar/resource_type/c_6501 | |||||||||
| 資源タイプ | journal article | |||||||||
| ID登録 | ||||||||||
| ID登録 | 10.20729/0002009076 | |||||||||
| ID登録タイプ | JaLC | |||||||||
| 著者所属 | ||||||||||
| 大阪大学大学院情報科学研究科 | ||||||||||
| 著者所属 | ||||||||||
| 大阪大学大学院情報科学研究科 | ||||||||||
| 著者所属(英) | ||||||||||
| en | ||||||||||
| Graduate School of Information Science and Technology, The University of Osaka | ||||||||||
| 著者所属(英) | ||||||||||
| en | ||||||||||
| Graduate School of Information Science and Technology, The University of Osaka | ||||||||||
| 著者名 |
川本,琢人
× 川本,琢人
× 肥後,芳樹
|
|||||||||
| 著者名(英) |
Takuto Kawamoto
× Takuto Kawamoto
× Yoshiki Higo
|
|||||||||
| 論文抄録 | ||||||||||
| 内容記述タイプ | Other | |||||||||
| 内容記述 | コードクローンは,ソフトウェアの一貫性のない変更を助長し,ソフトウェアの保守性を低下させる.コードクローンのリファクタリングはソフトウェアの保守性を高く保つために有効であると考えられる.リファクタリング手法の1つにメソッド抽出リファクタリングある.このリファクタリングは一般に,識別子名の違いや空白文字の違いを含むコードクローンに対して適用できる.文単位の差異を含むコードクローンであっても,ラムダ式を用いて互いに異なる動作をパラメータ化するとメソッドの抽出リファクタリングによるリファクタリングが可能になる.しかしラムダ式はプログラミング言語によって仕様が様々に異なる.最適な手法はプログラミング言語ごとに熟慮を要する.本稿ではC#を対象にラムダ式を用いたメソッドの抽出リファクタリングの手法を提案する.提案手法を実際のプロジェクトのクローンペア2,714件に対して適用したところ,全体の11.6%のクローンペアで正確なリファクタリングが確認された.また,24.0%のクローンペアでリファクタリング後のソースコードはビルドを通過し,62.6%のクローンペアをリファクタリング不可能と判断した. | |||||||||
| 論文抄録(英) | ||||||||||
| 内容記述タイプ | Other | |||||||||
| 内容記述 | Code clones encourage inconsistent software changes and degrade software maintainability. Refactoring code clones is considered effective for improving software maintainability. One refactoring technique is Extract Method refactoring. This refactoring is generally effective for code clones that differ in identifier names and whitespace. Even for code clones containing statement-level differences, Extract Method refactoring becomes possible by parameterizing the differing behaviors using lambda expressions. However, the detailed specifications of lambda expressions vary significantly across programming languages. Therefore, the optimal approach requires careful consideration for each programming language. This paper proposes an Extract Method refactoring technique using lambda expressions specifically for C#. When the proposed technique was applied to 2,714 clone pairs from actual projects, 11.6% of the clone pairs were accurately refactored. Furthermore, the refactored source code passed the build process for 24.0% of the clone pairs, while 62.6% of the clone pairs were determined to be unrefactorable. | |||||||||
| 書誌レコードID | ||||||||||
| 収録物識別子タイプ | NCID | |||||||||
| 収録物識別子 | AN00116647 | |||||||||
| 書誌情報 |
情報処理学会論文誌 巻 67, 号 4, p. 748-761, 発行日 2026-04-15 |
|||||||||
| ISSN | ||||||||||
| 収録物識別子タイプ | ISSN | |||||||||
| 収録物識別子 | 1882-7764 | |||||||||
| 公開者 | ||||||||||
| 言語 | ja | |||||||||
| 出版者 | 情報処理学会 | |||||||||