論文の概要: Bugs in the Shadows: Static Detection of Faulty Python Refactorings
- arxiv url: http://arxiv.org/abs/2507.01103v1
- Date: Tue, 01 Jul 2025 18:03:56 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-07-03 14:22:59.851534
- Title: Bugs in the Shadows: Static Detection of Faulty Python Refactorings
- Title(参考訳): シャドーのバグ:Pythonリファクタリングの静的検出
- Authors: Jonhnanthan Oliveira, Rohit Gheyi, Márcio Ribeiro, Alessandro Garcia,
- Abstract要約: Pythonの動的型システムは、自動コード変換に重大な課題をもたらす。
分析の結果,合計1,152回の試行の結果,4種類の29のバグが判明した。
これらの結果は、自動コード変換の正確性を保証するために、現在のPythonツールの堅牢性を改善する必要性を強調している。
- 参考スコア(独自算出の注目度): 44.115219601924856
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Python is a widely adopted programming language, valued for its simplicity and flexibility. However, its dynamic type system poses significant challenges for automated refactoring - an essential practice in software evolution aimed at improving internal code structure without changing external behavior. Understanding how type errors are introduced during refactoring is crucial, as such errors can compromise software reliability and reduce developer productivity. In this work, we propose a static analysis technique to detect type errors introduced by refactoring implementations for Python. We evaluated our technique on Rope refactoring implementations, applying them to open-source Python projects. Our analysis uncovered 29 bugs across four refactoring types from a total of 1,152 refactoring attempts. Several of these issues were also found in widely used IDEs such as PyCharm and PyDev. All reported bugs were submitted to the respective developers, and some of them were acknowledged and accepted. These results highlight the need to improve the robustness of current Python refactoring tools to ensure the correctness of automated code transformations and support reliable software maintenance.
- Abstract(参考訳): Pythonは広く採用されているプログラミング言語で、その単純さと柔軟性が評価されている。
しかし、その動的型システムは、自動リファクタリングに重大な課題をもたらします - ソフトウェア進化において、外部の振る舞いを変えることなく内部コード構造を改善することを目的とした、重要なプラクティスです。
このようなエラーはソフトウェアの信頼性を損なう可能性があり、開発者の生産性を低下させる可能性がある。
本稿では,Pythonのリファクタリング実装で導入された型エラーを検出する静的解析手法を提案する。
我々は、Ropeのリファクタリング実装に関するテクニックを評価し、それをオープンソースのPythonプロジェクトに応用した。
私たちの分析では、合計1,152回のリファクタリングの試みから、4つのリファクタリングタイプにわたる29のバグを発見しました。
これらの問題のいくつかは、PyCharmやPyDevといった広く使われているIDEでも見つかった。
報告されたすべてのバグは各開発者に提出され、そのうちのいくつかは承認され、受け入れられた。
これらの結果は、自動化されたコード変換の正確性を確保し、信頼性の高いソフトウェアメンテナンスをサポートするために、現在のPythonリファクタリングツールの堅牢性を改善する必要性を強調している。
関連論文リスト
- Assessing the Bug-Proneness of Refactored Code: A Longitudinal Multi-Project Study [43.65862440745159]
リファクタリングはソフトウェア開発で一般的なプラクティスで、内部のコード構造を改善して、理解と修正を容易にすることを目的としています。
しばしば、コードがバグに弱いと仮定される。
しかし、実際には複雑なタスクであり、異なる方法で適用されている。そのため、不注意にもコードをバグに陥れやすいものにすることができる。
論文 参考訳(メタデータ) (2025-05-12T19:12:30Z) - ActRef: Enhancing the Understanding of Python Code Refactoring with Action-Based Analysis [10.724563250102696]
本稿では,ActRefというアクションベースのリファクタリング分析フレームワークを提案する。
ActRefはdiffアクションに基づいて複数のタイプ(移動、名前変更、抽出、インライン操作など)をマイニングする。
ActRefは、コード変更アクションにフォーカスすることで、複雑なパターンを検出するPython対応のソリューションを提供する。
論文 参考訳(メタデータ) (2025-05-10T07:48:50Z) - Evaluating the Effectiveness of Small Language Models in Detecting Refactoring Bugs [0.6133301815445301]
本研究では,Java と Python の2種類のバグ検出における小言語モデル (SLM) の有効性を評価する。
この研究は16種類のタイプをカバーし、コンシューマグレードのハードウェアにゼロショットプロンプトを用いて、事前トレーニングを明示することなくモデルの正確性を推論する能力を評価する。
プロプライエタリなo3-mini-highモデルは、タイプIの84.3%のバグを識別し、最も高い検出率を達成した。
論文 参考訳(メタデータ) (2025-02-25T18:52:28Z) - An Empirical Study of Refactoring Engine Bugs [7.412890903261693]
Eclipse、IntelliJ IDEA、Netbeansのバグを分析することで、エンジンのバグに関する最初の体系的な研究を示す。
これらのバグは, タイプ, 症状, 根本原因, トリガー条件によって分析した。
我々のトランスファービリティー調査では、これらのエンジンの最新バージョンに130の新たなバグが見つかった。
論文 参考訳(メタデータ) (2024-09-22T22:09:39Z) - Detecting Refactoring Commits in Machine Learning Python Projects: A Machine Learning-Based Approach [3.000496428347787]
MLRefScannerは、ML固有のものと一般的な操作の両方でコミットを特定する。
本研究は,多言語および技術的領域にわたるプログラム検出におけるML駆動型アプローチの可能性を明らかにする。
論文 参考訳(メタデータ) (2024-04-09T18:46:56Z) - 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) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - Break-It-Fix-It: Unsupervised Learning for Program Repair [90.55497679266442]
我々は2つの重要なアイデアを持つ新しいトレーニング手法であるBreak-It-Fix-It (BIFI)を提案する。
批判者は、実際の悪い入力でフィクスダーの出力をチェックし、トレーニングデータに良い(固定された)出力を追加する。
これらのアイデアに基づいて、よりペア化されたデータを生成するために、ブレーカとフィクスチャを同時に使用しながら、繰り返し更新する。
BIFIは既存のメソッドより優れており、GitHub-Pythonで90.5%、DeepFixで71.7%の修正精度がある。
論文 参考訳(メタデータ) (2021-06-11T20:31:04Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。