論文の概要: AST-Based Automated Elimination of break and continue Statements in Java Code
- arxiv url: http://arxiv.org/abs/2609.27627v1
- Date: Wed, 23 Sep 2026 09:48:40 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-09-25 00:05:17.971567
- Title: AST-Based Automated Elimination of break and continue Statements in Java Code
- Title(参考訳): ASTベースのJavaコードにおけるブレークと継続のステートメントの自動化
- Abstract要約: 提案手法は、ブレークと継続文を含む制御構造を、明示的な使用を避ける意味論的に等価な構造に変換する。
補助変数は、元のプログラム動作を保持しながら制御フローに導入される。
このツールは、手動で設計した54の試験ケースと151の単体テストによって検証され、すべて満足な結果が得られた。
- 参考スコア(独自算出の注目度): 0.0
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: This work presents the development of an automatic refactoring tool for Java code built on top of the Eclipse JDT API. The proposed approach transforms control structures containing break and continue statements within different types of loops into semantically equivalent constructs that avoid their explicit use. To achieve this, auxiliary boolean variables are introduced to restructure the control flow while preserving the original program behavior. The main objective of this transformation is to improve code structure and enable the application of subsequent automated refactorings, particularly those based on the Extract Method operation, which are typically restricted by the presence of jump statements. The implementation relies on the analysis and rewriting of the Abstract Syntax Tree (AST), ensuring semantic equivalence in all addressed scenarios. The tool was validated through 54 manually designed test cases and 151 units tests, all of which produced satisfactory results. In addition, it was applied to 139 methods from seven open-source projects, generating code without compilation errors and preserving the original behavior as verified by the projects' test suites. The results demonstrate that the proposed approach safely automates the restructuring of code containing break and continue statements, facilitating further evolution and structural analysis.
- Abstract(参考訳): この作業は、Eclipse JDT API上に構築されたJavaコードのための自動リファクタリングツールの開発を示す。
提案手法は,異なるタイプのループ内でのブレーク・アンド・コンティニュメントを含む制御構造を,明示的な使用を避ける意味論的に等価な構造に変換する。
これを実現するために、補助ブール変数を導入し、元のプログラム動作を維持しながら制御フローを再構築する。
この変換の主な目的は、コード構造を改善し、その後の自動リファクタリング、特にジャンプ文の存在によって制限されるExtract Method操作に基づく適用を可能にすることである。
この実装は抽象構文木(AST)の分析と書き換えに依存しており、全てのシナリオにおいて意味的等価性を保証する。
このツールは、手動で設計した54の試験ケースと151の単体テストによって検証され、いずれも満足な結果が得られた。
さらに、7つのオープンソースプロジェクトから139のメソッドに適用され、コンパイルエラーのないコードを生成し、プロジェクトのテストスイートで検証された元の動作を保存する。
その結果、提案手法は、ブレークと継続文を含むコードの再構築を安全に自動化し、さらなる進化と構造解析を容易にすることを示した。
関連論文リスト
- Formalizing and Automating Fine-Grained Move Refactorings Across Methods [0.28647133890966986]
クラスレベルとメソッドレベルのモブは現代のIDEでは自動化されているが、メソッド境界を調整するステートメントレベルと表現レベルの動きは、ほとんど自動化されていない。
モーブ・ステートメントの5つの変種を, 4つの基本条件を前提とした前提条件とステップとして定式化する。
既存の手法と組み合わせることで、よりきめ細かい表現や部分的な表現も得られる。
論文 参考訳(メタデータ) (2026-08-24T15:22:17Z) - Technical Report: A Formal Semantics for Java Symbolic Evaluation using Large-Block Encoding [0.9985222473972001]
シンボリック実行はバグを見つけ、テストケースを生成し、正確性を保証するために使用される。
Java Rangerは、命令型Javaコードを形式論理の言語に段階的に変換するJavaプログラムのためのパスマージツールである。
これらの変換を形式化し、Javaの具体的セマンティクスの簡易バージョンに関して、それらの健全性を証明します。
論文 参考訳(メタデータ) (2026-08-05T06:49:28Z) - Syntax-driven Incremental Program Verification of Matching Logic Properties [36.861969535480526]
本稿では, KernelC で記述されたプログラムの漸進的な検証手法を提案する。
このアプローチは、コードチャンクを分離して分析できる構文意味論的なフレームワークに基づいている。
その結果,本手法は形式検証の効率を低下させず,変更後のプログラム再検証よりも優れていることがわかった。
論文 参考訳(メタデータ) (2026-06-07T20:32:37Z) - zkStruDul: Programming zkSNARKs with Structural Duality [0.2449909275410287]
zkStruDulは、入力変換を統一し、定義を単一の複合抽象化に述語する言語である。
我々は、ソースレベルのセマンティクスを提供し、その振る舞いが予測されたセマンティクスと同一であることを証明する。
論文 参考訳(メタデータ) (2025-11-13T18:06:21Z) - EquiBench: Benchmarking Large Language Models' Reasoning about Program Semantics via Equivalence Checking [58.15568681219339]
大規模言語モデル(LLM)を評価するための新しいベンチマークであるEquiBenchを紹介する。
このタスクは、プログラムのセマンティクスについて推論するモデルの能力を直接テストする。
19の最先端LCMを評価し、最も難しいカテゴリでは、最高の精度は63.8%と76.2%であり、50%のランダムベースラインよりわずかに高い。
論文 参考訳(メタデータ) (2025-02-18T02:54:25Z) - ReF Decompile: Relabeling and Function Call Enhanced Decompile [50.86228893636785]
逆コンパイルの目標は、コンパイルされた低レベルコード(アセンブリコードなど)を高レベルプログラミング言語に変換することである。
このタスクは、脆弱性識別、マルウェア分析、レガシーソフトウェアマイグレーションなど、さまざまなリバースエンジニアリングアプリケーションをサポートする。
論文 参考訳(メタデータ) (2025-02-17T12:38:57Z) - Automated Refactoring of Non-Idiomatic Python Code: A Differentiated Replication with LLMs [54.309127753635366]
本研究は, GPT-4の有効性について検討し, 慣用行動の推奨と示唆について検討した。
この結果から,従来は複雑なコード解析に基づくレコメンデータの実装が求められていた,LCMの課題達成の可能性が浮き彫りになった。
論文 参考訳(メタデータ) (2025-01-28T15:41:54Z) - StructTest: Benchmarking LLMs' Reasoning through Compositional Structured Outputs [78.84060166851805]
StructTestは、大規模な言語モデル(LLM)を合成命令に従って構造化出力を生成する能力に基づいて評価する、新しいベンチマークである。
評価はルールベースの評価器を用いて決定的に行われ、新しいタスクやデータセットに容易に拡張できる。
StructTestは、Deepseek-V3/R1やGPT-4oといったトップパフォーマンスモデルでも、依然として難しいままです。
論文 参考訳(メタデータ) (2024-12-23T22:08:40Z) - Supporting single responsibility through automated extract method
refactoring [48.0838443679187]
本稿では,長いメソッドを少し重なり合うスライスに分解する後方スライスアルゴリズムを提案する。
スライスは各出力命令に対して計算され、メソッドに委譲された責任の結果を表す。
平均して、我々の実験は、少なくとも29.6%の精度の向上と、発見される機会のリコールにおける12.1%の改善を実証した。
論文 参考訳(メタデータ) (2023-05-05T11:02:02Z) - Glushkov's construction for functional subsequential transducers [91.3755431537592]
グルシコフの構成は多くの興味深い性質を持ち、トランスデューサに適用するとさらに明らかになる。
正規表現の特別な風味を導入し、効率よく$epsilon$-free 機能的次数重み付き有限状態トランスデューサに変換することができる。
論文 参考訳(メタデータ) (2020-08-05T17:09:58Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。