論文の概要: Software refactoring and rewriting: from the perspective of code
transformations
- arxiv url: http://arxiv.org/abs/2308.06615v1
- Date: Sat, 12 Aug 2023 17:11:54 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-23 14:29:26.171172
- Title: Software refactoring and rewriting: from the perspective of code
transformations
- Title(参考訳): ソフトウェアのリファクタリングと書き直し: コード変換の観点から
- Authors: Yu Liu (Institute of High Energy Physics, Chinese Academy of Sciences)
- Abstract要約: マイクロパス/ナノパスコンパイラのアイデアを借りることができます。
ソフトウェアのプロシージャをコードを構成するものとして扱うことで、その正確さを手作業で分析できるように、プロセスの表現を十分に短くすることが可能になる。
- 参考スコア(独自算出の注目度): 0.0
- License: http://creativecommons.org/licenses/by-sa/4.0/
- Abstract: To refactor already working code while keeping reliability, compatibility and
perhaps security, we can borrow ideas from micropass/nanopass compilers. By
treating the procedure of software refactoring as composing code
transformations, and compressing repetitive transformations with automation
tools, we can often obtain representations of refactoring processes short
enough that their correctness can be analysed manually. Unlike in compilers, in
refactoring we usually only need to consider the codebase in question, so
regular text processing can be extensively used, fully exploiting patterns only
present in the codebase. Aside from the direct application of code
transformations from compilers, many other kinds of equivalence properties may
also be exploited. In this paper, two refactoring projects are given as the
main examples, where 10-100 times simplification has been achieved with the
application of a few kinds of useful transformations.
- Abstract(参考訳): 信頼性、互換性、おそらくセキュリティを維持しながら、すでに動作するコードをリファクタリングするには、micropass/nanopassコンパイラからアイデアを借りることができます。
ソフトウェアリファクタリングの手順をコード変換の構成として扱い、自動化ツールで繰り返し変換を圧縮することで、リファクタリングプロセスの表現を手作業で分析できるほど短くすることが可能になる。
コンパイラとは異なり、リファクタリングでは、通常、問題のコードベースのみを考慮する必要があるため、通常のテキスト処理を広範囲に使用することができ、コードベースにのみ存在するパターンを十分に活用することができる。
コンパイラからのコード変換の直接的な適用とは別に、他の多くの同値性も活用できる。
本稿では,2つのリファクタリングプロジェクトを主な例として,数種類の有用な変換を適用することで,10~100倍の単純化を実現した。
関連論文リスト
- ReF Decompile: Relabeling and Function Call Enhanced Decompile [50.86228893636785]
逆コンパイルの目標は、コンパイルされた低レベルコード(アセンブリコードなど)を高レベルプログラミング言語に変換することである。
このタスクは、脆弱性識別、マルウェア分析、レガシーソフトウェアマイグレーションなど、さまざまなリバースエンジニアリングアプリケーションをサポートする。
論文 参考訳(メタデータ) (2025-02-17T12:38:57Z) - An Empirical Study on the Impact of Code Duplication-aware Refactoring Practices on Quality Metrics [5.516979718589074]
128のオープンソースJavaプロジェクトから、日々の変更で開発者が適用し、ドキュメント化した332のコミットのコーパスを抽出します。
我々は、これらの操作が共通の最先端の設計品質指標に与える影響を実証的に分析する。
論文 参考訳(メタデータ) (2025-02-06T13:34:25Z) - Testing Refactoring Engine via Historical Bug Report driven LLM [6.852749659993347]
リファクタリングは、外部の振る舞いを変えることなく、既存のコードを再構築するプロセスである。
自動エンジンテストのためのフレームワークであるRETESTERを提案する。
論文 参考訳(メタデータ) (2025-01-16T23:31:49Z) - 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) - Empirical Evaluation of a Live Environment for Extract Method
Refactoring [0.0]
我々は,抽出手法を視覚的に識別し,推奨し,適用するLive Refactoring Environmentを開発した。
私たちの結果は、追加の助けなしに手作業で行うコードとは大きく異なり、改善されました。
論文 参考訳(メタデータ) (2023-07-20T16:36:02Z) - 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) - Planning with Large Language Models for Code Generation [100.07232672883897]
Planning-Guided Transformer Decoding (PG-TD) は、計画アルゴリズムを用いてルックアヘッド検索を行い、トランスフォーマーを誘導してより良いプログラムを生成する。
我々は、公開コーディングチャレンジベンチマークのバックボーンとして、いくつかの大きな言語モデルを用いて、我々のフレームワークを実証的に評価する。
論文 参考訳(メタデータ) (2023-03-09T18:59:47Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。