論文の概要: SemaDiff: Identifying Semantic-Changing Commits with Generated Code and Tests
- arxiv url: http://arxiv.org/abs/2607.13111v1
- Date: Tue, 14 Jul 2026 12:23:22 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-07-16 16:39:12.536231
- Title: SemaDiff: Identifying Semantic-Changing Commits with Generated Code and Tests
- Title(参考訳): SemaDiff: 生成コードとテストによるセマンティックな変更コミュニティの識別
- Abstract要約: 変更点からのセマンティック保存コミットの排除は、ソフトウェアリポジトリのマイニングにおいて、依然としてオープンな課題である。
SemaDiffは、プレコミットとポストコミットバージョンでの同様のテスト実行の比較を通じて、セマンティック保存コミットを特定するための新しいアプローチである。
SemaDiffは、セマンティックな保存と -- 約76%のケースでコミットを変更する -- を正確に区別し、セマンティックなコミット検出の精度は100%である。
- 参考スコア(独自算出の注目度): 5.3138104073306005
- License: http://creativecommons.org/licenses/by-sa/4.0/
- Abstract: Distinguishing semantic-preserving commits from changing ones remains an open challenge in software repository mining. While existing approaches detect refactoring commits accurately, they cannot ensure that a commit is purely semantic-preserving, without any interleaving behaviour-changing modification. This limitation can impact several tasks, such as debugging, fault localisation, bug dataset construction, rollback analysis, and bug fixes backporting. To fill this gap, we propose SemaDiff, a novel approach for identifying semantic-preserving commits through behaviour-based analysis; comparison of similar test execution on pre- and post-commit versions. As code impacted by the refactoring is often hard to test and different accross both versions, we propose generating additional calling methods to that code, which serve as testing target. Given a commit, SemaDiff analyses the diff to identify modified code and extracts unchanged dependent code that calls it. It then generates an additional dependent class using a large language model to exercise the changed code in both versions, and automatically generates tests for the dependent code. This way, we obtain the same tests for the different code versions, enabling the behavioural-difference detection. The commit is classified as semantic-preserving only if all generated tests produce identical outcomes across the two versions. To evaluate SemaDiff, we construct and annotate manually a dataset of 183 commits, gathered from well-known open-source Java projects. The obtained results show that SemaDiff distinguishes accurately semantic-preserving from -- changing commits in about 76% of the cases, with a 100% precision in semantic-changing commit detection.
- Abstract(参考訳): 変更点からのセマンティック保存コミットの排除は、ソフトウェアリポジトリのマイニングにおいて、依然としてオープンな課題である。
既存のアプローチは、リファクタリングコミットを正確に検出するが、コミットが純粋にセマンティックな保存であることを保証することはできない。
この制限は、デバッグ、障害ローカライゼーション、バグデータセットの構築、ロールバック分析、バグ修正バックポートなど、いくつかのタスクに影響を与える可能性がある。
このギャップを埋めるために、動作に基づく分析により意味保存コミットを識別する新しいアプローチであるSemaDiffを提案する。
リファクタリングによって影響を受けるコードはテストが難しく、両方のバージョンで異なるため、テスト対象となるコードに追加の呼び出しメソッドを生成することを提案します。
コミットが与えられた後、SemaDiffはdiffを分析して修正済みのコードを識別し、それを呼び出す非依存のコードを抽出する。
そして、大きな言語モデルを使用して、両方のバージョンで変更されたコードを実行する追加の依存クラスを生成し、依存するコードのテストを自動的に生成する。
このようにして、異なるコードバージョンの同じテストを取得し、振る舞い差検出を可能にします。
コミットは、すべての生成されたテストが2つのバージョンで同じ結果を生成する場合にのみ、セマンティック保存として分類される。
SemaDiffを評価するために、よく知られたオープンソースのJavaプロジェクトから集められた183のコミットのデータセットを手作業で構築し、注釈付けします。
その結果、SemaDiffは、セマンティックな保存と -- 約76%のケースでコミットを変更する -- を正確に区別し、セマンティックなコミット検出において100%の精度で検出できることがわかった。
関連論文リスト
- DiffTestGen: Change-Directed LLM-Based Testing for Exposing Behavioral Differences [12.692695524978332]
本稿では,LLMに基づく差分テスト手法であるDiffTestGenを提案する。
DiffTestGenは、PRの78.2%で行動の違いを露呈し、平均で90.7%のユニオンカバレッジを達成した。
DiffTestGenとTestoraレグレッション検出器を統合することで、既存の最良のアプローチで見逃された回帰バグを検出するために、識別された振る舞いの違いが利用できることを示す。
論文 参考訳(メタデータ) (2026-07-17T14:57:59Z) - What Resolve Rate Hides: Trajectory Structure Diagnostics for Coding Agents [14.988334585821939]
コーディングエージェントは、ほぼ完全に解決率でランク付けされる。
単一のパス/フェイルラベルは、なぜ実行が失敗したのか、なぜ承認された実行が追加のステップ、時間、トークンを費やしたのかについて何も述べていない。
TraceProbeは、リゾルフレートが隠すものを回復するトラジェクトリに依存しないフレームワークである。
論文 参考訳(メタデータ) (2026-07-07T12:09:46Z) - IntentTester: Intent-Driven Multi-agent Framework for Cross-Library Test Migration [14.0813614333238]
IntentTesterは意図駆動テストの再利用のためのフレームワークです。
IntentTesterは3つのドメイン(JSON、HTML、Time)と2つの言語(JavaとPython)にわたる9つのオープンソースプロジェクトで評価します。
論文 参考訳(メタデータ) (2026-06-24T08:59:01Z) - Efficient Test-Time Inference via Deterministic Exploration of Truncated Decoding Trees [68.04613115686509]
自己整合性は、複数の推論トレースを並列にサンプリングし、投票することで、推論時間のパフォーマンスを向上させる。
そこで本研究では,切り落された標本を伐採木として扱う決定論的復号法であるDLE(Distinct Leafion)を提案する。
DLEは高品質な推論トレースを調査し、数学、コーディング、一般的な推論タスクのパフォーマンスを向上させる。
論文 参考訳(メタデータ) (2026-04-22T12:42:03Z) - Treating Run-time Execution History as a First-Class Citizen: Co-Versioning Run-time Behavior alongside Code [2.6397379133308214]
この記事では、このミスマッチが、ソフトウェア進化分析とCIの盲点に寄与している、と論じる。
我々は、Git履歴とtextitBehavioral Archiveを結合するパラダイムである textitBehavioral Co-Versioningを提案する。
これにより、セマンティックディファリング、行動認識の回帰ローカライゼーション、そして過去の実行を照会して振り返り監査が可能になる。
論文 参考訳(メタデータ) (2026-04-18T09:36:12Z) - AlgoVeri: An Aligned Benchmark for Verified Code Generation on Classical Algorithms [54.99368693313797]
既存のベンチマークでは、個々の言語/ツールのみをテストするため、パフォーマンス番号は直接比較できない。
このギャップに対処するAlgoVeriは、Dafny、Verus、Leanで77ドルの古典的アルゴリズムのベリコーディングを評価するベンチマークです。
論文 参考訳(メタデータ) (2026-02-10T06:58:26Z) - Probing Pre-trained Language Models on Code Changes: Insights from ReDef, a High-Confidence Just-in-Time Defect Prediction Dataset [0.0]
本稿では,22の大規模C/C++プロジェクトから得られた関数レベル修正の信頼性の高いベンチマークであるReDefを紹介する。
欠陥ケースはコミットの反転によって固定され、クリーンケースはポストホック履歴チェックによって検証される。
このパイプラインは3,164の欠陥と10,268のクリーンな修正をもたらし、既存のリソースよりも信頼性の高いラベルを提供する。
論文 参考訳(メタデータ) (2025-09-11T07:07:11Z) - Turning the Tide: Repository-based Code Reflection [52.13709676656648]
マルチファイルリポジトリコンテキストにおけるコード理解と生成を評価するベンチマークであるLiveRepoReflectionを紹介する。
多様性、正確性、難易度を確保するため、6ドル(約6,800円)のプログラミング言語で厳格にテストケースをフィルタリングしました。
RepoReflection-Instructは、さまざまなソースから派生した大規模で品質の高い命令チューニングデータセットである。
論文 参考訳(メタデータ) (2025-07-14T02:36:27Z) - A Novel Refactoring and Semantic Aware Abstract Syntax Tree Differencing Tool and a Benchmark for Evaluating the Accuracy of Diff Tools [2.0625936401496237]
Syntax Tree (AST) diffツールは、ほとんどの開発者が使っている行ベースのdiffツールの制限を克服するために開発された。
上記の制限をすべて解決するRefactoringMinerに基づく新しいAST diffツールを提案する。
当社のツールは,特にコミットにおいて,非互換性ツールに匹敵する実行時間で,大幅な精度の向上とリコールを実現しています。
論文 参考訳(メタデータ) (2024-03-09T15:32:41Z) - RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation [96.75695811963242]
RepoCoderはリポジトリレベルのコード補完プロセスを合理化するフレームワークである。
類似性ベースのレトリバーと、事前訓練されたコード言語モデルが組み込まれている。
バニラ検索で拡張されたコード補完アプローチよりも一貫して優れています。
論文 参考訳(メタデータ) (2023-03-22T13:54:46Z) - D2A: A Dataset Built for AI-Based Vulnerability Detection Methods Using
Differential Analysis [55.15995704119158]
静的解析ツールによって報告されたラベル問題に対する差分解析に基づくアプローチであるD2Aを提案する。
D2Aを使用して大きなラベル付きデータセットを生成し、脆弱性識別のためのモデルをトレーニングします。
論文 参考訳(メタデータ) (2021-02-16T07:46:53Z) - Deep Just-In-Time Inconsistency Detection Between Comments and Source
Code [51.00904399653609]
本稿では,コード本体の変更によりコメントが矛盾するかどうかを検出することを目的とする。
私たちは、コメントとコードの変更を関連付けるディープラーニングアプローチを開発しています。
より包括的な自動コメント更新システムを構築するために,コメント更新モデルと組み合わせて提案手法の有用性を示す。
論文 参考訳(メタデータ) (2020-10-04T16:49:28Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。