論文の概要: Refactoring Codebases through Library Design
- arxiv url: http://arxiv.org/abs/2506.11058v3
- Date: Sun, 05 Oct 2025 16:31:35 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-10-07 14:28:10.171561
- Title: Refactoring Codebases through Library Design
- Title(参考訳): ライブラリ設計によるコードベースのリファクタリング
- Authors: Ziga Kovacic, Justin T. Chiu, Celine Lee, Wenting Zhao, Kevin Ellis,
- Abstract要約: 成長と再利用性をサポートする方法でコードに対するコードエージェントの能力を調べる。
本稿では,再利用可能なライブラリを生成するためのベンチマークと手法を提案する。
我々は,ライブラリと最先端のライブラリ生成手法を比較し,それを実世界のコードベースで研究する。
- 参考スコア(独自算出の注目度): 21.039476331720312
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Maintainable and general software allows developers to build robust applications efficiently, yet achieving these qualities often requires refactoring specialized solutions into reusable components. This challenge becomes particularly relevant as code agents become used to solve isolated one-off programming problems. We investigate code agents' capacity to refactor code in ways that support growth and reusability. We first investigate what makes a good refactoring, finding via simulation results and a human study that Minimum Description Length best correlates with preferable refactorings. We then present both a benchmark and a method for refactoring: MiniCode, a benchmark where multiple files must be refactored into a shared library, and Librarian, a sample-and-rerank method for generating reusable libraries. We compare Librarian to state-of-the-art library generation methods, and study it on real-world code bases.
- Abstract(参考訳): 保守可能で汎用的なソフトウェアにより、開発者は堅牢なアプリケーションを効率的に構築できるが、これらの品質を達成するには、しばしば再利用可能なコンポーネントに特別なソリューションをリファクタリングする必要がある。
この課題は、コードエージェントが孤立したワンオフプログラミング問題の解決に使用されるようになるにつれ、特に重要になる。
成長と再利用性をサポートする方法でコードをリファクタリングするコードエージェントの能力について検討する。
まず,優れたリファクタリングを行う方法,シミュレーション結果,人間による研究から,最小記述長が好適なリファクタリングと相関する点について検討する。
次に、複数のファイルを共有ライブラリにリファクタリングしなければならないベンチマークであるMiniCodeと、再利用可能なライブラリを生成するサンプル・アンド・リロードメソッドであるLibrarianを紹介します。
我々は,ライブラリと最先端のライブラリ生成手法を比較し,それを実世界のコードベースで研究する。
関連論文リスト
- Paper2Code: Automating Code Generation from Scientific Papers in Machine Learning [57.09163579304332]
機械学習論文を機能コードリポジトリに変換するフレームワークであるPaperCoderを紹介した。
PaperCoderは3つの段階で動作する。計画、図によるシステムアーキテクチャの設計、ファイル依存の特定、構成ファイルの生成である。
次に、モデルベースおよび人的評価の両方に基づいて、機械学習論文からコード実装を生成するPaperCoderを評価する。
論文 参考訳(メタデータ) (2025-04-24T01:57:01Z) - An Empirical Study on the Code Refactoring Capability of Large Language Models [0.5852077003870416]
この研究は、30のオープンソースプロジェクトにわたるコードにおいて、コード生成に最適化されたLLMであるStarCoder2を実証的に評価する。
我々は,(1)コード品質の改善,(2)臭いの型と有効性,(3)ワンショットとチェーン・オブ・シークレットのプロンプトによる改善に焦点を当て,StarCoder2のパフォーマンスを人間開発者と比較した。
論文 参考訳(メタデータ) (2024-11-04T17:46:20Z) - 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) - Fixing Your Own Smells: Adding a Mistake-Based Familiarisation Step When
Teaching Code Refactoring [2.021502591596062]
学生はまず、コードの臭いを発生させるためにプログラミング演習を完了しなければなりません。
この単純な介入は、学生がコードに精通している場合、学習が簡単であるという考えに基づいている。
本研究は,35人の初等生を対象に,従来の「ミステイク」アプローチと「ミステイク」アプローチを交互に指導し,様々な演習を修了した。
論文 参考訳(メタデータ) (2024-01-02T03:39:19Z) - A^3-CodGen: A Repository-Level Code Generation Framework for Code Reuse with Local-Aware, Global-Aware, and Third-Party-Library-Aware [13.27883339389175]
本稿では,A3-CodGenと呼ばれる新しいコード生成フレームワークを提案する。
その結果、A3-CodGenフレームワークを採用することで、コードリポジトリ情報をLLMに抽出、ヒューズ、フィードし、より正確で、効率的で、再利用性の高いコードを生成します。
論文 参考訳(メタデータ) (2023-12-10T05:36:06Z) - Software refactoring and rewriting: from the perspective of code
transformations [0.0]
マイクロパス/ナノパスコンパイラのアイデアを借りることができます。
ソフトウェアのプロシージャをコードを構成するものとして扱うことで、その正確さを手作業で分析できるように、プロセスの表現を十分に短くすることが可能になる。
論文 参考訳(メタデータ) (2023-08-12T17:11:54Z) - Empirical Evaluation of a Live Environment for Extract Method
Refactoring [0.0]
我々は,抽出手法を視覚的に識別し,推奨し,適用するLive Refactoring Environmentを開発した。
私たちの結果は、追加の助けなしに手作業で行うコードとは大きく異なり、改善されました。
論文 参考訳(メタデータ) (2023-07-20T16:36:02Z) - Do code refactorings influence the merge effort? [80.1936417993664]
複数のコントリビュータがソースコードを並行して変更して,新機能の実装やバグの修正,既存のコードの変更などを行っている。
これらの同時変更は、ソースコードの同じバージョンにマージする必要がある。
研究によると、すべてのマージの試みの10~20%が衝突を起こしており、これはプロセスを完了するために手動開発者の介入を必要とする。
論文 参考訳(メタデータ) (2023-05-10T13:24:59Z) - RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation [96.75695811963242]
RepoCoderはリポジトリレベルのコード補完プロセスを合理化するフレームワークである。
類似性ベースのレトリバーと、事前訓練されたコード言語モデルが組み込まれている。
バニラ検索で拡張されたコード補完アプローチよりも一貫して優れています。
論文 参考訳(メタデータ) (2023-03-22T13:54:46Z) - Code Librarian: A Software Package Recommendation System [65.05559087332347]
オープンソースライブラリ用のリコメンデーションエンジンであるLibrarianを提示する。
1)プログラムのインポートライブラリで頻繁に使用されること、2)プログラムのインポートライブラリと似た機能を持つこと、3)開発者の実装と似た機能を持つこと、4)提供されるコードのコンテキストで効率的に使用できること、である。
論文 参考訳(メタデータ) (2022-10-11T12:30:05Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。