論文の概要: Bugfix: a standard language, database schema and repository for research on bugs and automatic program repair
- arxiv url: http://arxiv.org/abs/2502.15599v1
- Date: Fri, 21 Feb 2025 17:17:04 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-02-24 16:10:29.443524
- Title: Bugfix: a standard language, database schema and repository for research on bugs and automatic program repair
- Title(参考訳): Bugfix: バグ調査と自動プログラム修復のための標準言語、データベーススキーマ、リポジトリ
- Authors: Victoria Kananchuk, Ilgiz Mustafin, Bertrand Meyer,
- Abstract要約: APR(Automatic Program repair)は、バグを検出するときにプログラムを修正するための提案を提供する、素晴らしいアイデアです。
Bugfixはこのようなフレームワークを提供するための取り組みである。
- 参考スコア(独自算出の注目度): 30.530037104130233
- License:
- Abstract: Automatic Program Repair (APR) is a brilliant idea: when detecting a bug, also provide suggestions for correcting the program. Progress towards that goal is hindered by the absence of a common frame of reference for the multiplicity of APR ideas, methods, tools, programming languages and environments. Bugfix is an effort at providing such a framework: a standardized set of notations, tools and interfaces, as well as a database of bugs and fixes, for use by the APR research community to try out ideas and compare results. The most directly visible component of the Bugfix effort is the Bugfixlanguage, a human-readable formalism making it possible to describe elements of the following kinds: a bug (described abstractly, for example the permutation of two arguments in a call); a bug example (an actual occurrence of a bug, in a specific code written in a specific programming language, and usually recorded in some repository); a fix (a particular correction of a bug, obtained for example by reversing the misplaced arguments); an application (an entity that demonstrates how a actual code example matches with a fix); a construct (the abstract description of a programming mechanism, for example a ``while'' loop, independently of its realization in a programming language; and a language (a description of how a particular programming language includes certain constructs and provides specific concrete syntax for each of them -- for example Java includes loop, assignment etc. and has a defined format for each of them). A JSON API provides it in a form accessible to tools. Bugfix includes a repository containing a considerable amount of bugs, examples and fixes. Note: An early step towards this article was a short contribution (Ref [1]) to the 2024 ICSE. The present text reuses a few elements of introduction and motivation but is otherwise thoroughly reworked and extended.
- Abstract(参考訳): APR(Automatic Program repair)は、バグを検出するときにプログラムを修正するための提案を提供する、素晴らしいアイデアです。
この目標に向けての進歩は、APRのアイデア、メソッド、ツール、プログラミング言語、環境の多元性に対する参照の共通の枠組みが欠如していることによって妨げられています。
Bugfixは、標準化された表記法、ツール、インターフェースのセット、およびAPR研究コミュニティがアイデアを試し、結果を比較するために使うバグと修正のデータベースである。
Bugfixの取り組みの最も直接的に見えるコンポーネントは、バグ(例えば、呼び出し中の2つの引数の置換を抽象的に記述する)、バグ例(特定のプログラミング言語で記述された特定のコードで、通常、あるリポジトリに記録されるバグの実際の発生)、修正(例えば、置換された引数を逆転して得られるバグの特定の修正)、アプリケーション(実際のコード例がフィックスとどのように一致するかを示すエンティティ)、構文(プログラミング言語におけるその実現とは無関係に、プログラムメカニズムの抽象的な記述)、言語(特定のプログラミング言語が、特定の構文を具体化して、特定の構文を提供するものなど)である。
JSON APIは、ツールにアクセス可能な形式でそれを提供する。
Bugfixには、大量のバグ、例、修正を含むリポジトリが含まれている。
注: この記事への最初のステップは、2024 ICSEへの短いコントリビューション(Ref [1])であった。
本文は導入とモチベーションのいくつかの要素を再利用するが、それ以外は徹底的に書き直され拡張されている。
関連論文リスト
- What is a "bug"? On subjectivity, epistemic power, and implications for
software research [8.116831482130555]
バグ」は少なくとも1870年代からの工学的「欠陥」の口語である。
現代のソフトウェア指向の定義のほとんどは、開発者が意図したものと、プログラムが実際に何をするかを区別するものである。
バグをファインディングするのは簡単だ" と最初に言うのは,“バグパターンはしばしばエラーとなるコード”だ。
論文 参考訳(メタデータ) (2024-02-13T01:52:42Z) - A Novel Approach for Automatic Program Repair using Round-Trip
Translation with Large Language Models [50.86686630756207]
研究によると、ある文の文法的誤りは、それを他の言語に翻訳し、その語を返せば修正できる。
現在の自動プログラム修復(APR)生成モデルは、ソースコードで事前訓練され、修正のために微調整されている。
本稿では,あるプログラミング言語から別のプログラミング言語,あるいは自然言語へのコード変換,そして,その逆といった,微調整ステップをバイパスし,ラウンド・トリップ変換(RTT)を用いる手法を提案する。
論文 参考訳(メタデータ) (2024-01-15T22:36:31Z) - RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic
Program Repair [75.40584530380589]
新たな検索型パッチ生成フレームワーク(RAP-Gen)を提案する。
RAP-Gen 以前のバグ修正ペアのリストから取得した関連する修正パターンを明示的に活用する。
RAP-GenをJavaScriptのTFixベンチマークとJavaのCode RefinementとDefects4Jベンチマークの2つのプログラミング言語で評価する。
論文 参考訳(メタデータ) (2023-09-12T08:52:56Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - Explaining Software Bugs Leveraging Code Structures in Neural Machine Translation [4.519754139322584]
Bugsplainerは、バグ修正コミットの大規模なコーパスから学ぶことによって、ソフトウェアバグの自然言語説明を生成する。
3つのパフォーマンス指標を用いて評価したところ、BugsplainerはGoogleの標準に従って理解しやすく良い説明を生成できることがわかった。
また、Bugsplainerによる説明がベースラインよりも正確で、より正確で、より有用であることが判明した、20人の参加者を対象にした開発者スタディも実施しました。
論文 参考訳(メタデータ) (2022-12-08T22:19:45Z) - Using Developer Discussions to Guide Fixing Bugs in Software [51.00904399653609]
我々は,タスク実行前に利用可能であり,また自然発生しているバグレポートの議論を,開発者による追加情報の必要性を回避して利用することを提案する。
このような議論から派生したさまざまな自然言語コンテキストがバグ修正に役立ち、オラクルのバグ修正コミットに対応するコミットメッセージの使用よりもパフォーマンスの向上につながることを実証する。
論文 参考訳(メタデータ) (2022-11-11T16:37:33Z) - BigIssue: A Realistic Bug Localization Benchmark [89.8240118116093]
BigIssueは、現実的なバグローカライゼーションのためのベンチマークである。
実際のJavaバグと合成Javaバグの多様性を備えた一般的なベンチマークを提供する。
われわれは,バグローカライゼーションの最先端技術として,APRの性能向上と,現代の開発サイクルへの適用性の向上を期待している。
論文 参考訳(メタデータ) (2022-07-21T20:17:53Z) - Generating Bug-Fixes Using Pretrained Transformers [11.012132897417592]
実世界のgithubからマイニングしたjavaメソッドのバグの検出と修正を学ぶ,データ駆動型プログラム修復手法を導入する。
ソースコードプログラムの事前トレーニングは,スクラッチからの教師ありトレーニングに比べて,33%のパッチ数を改善することを示す。
我々は,標準精度評価基準を非削除および削除のみの修正に洗練し,我々の最良モデルが従来よりも75%多くの非削除修正を生成することを示す。
論文 参考訳(メタデータ) (2021-04-16T05:27:04Z) - Advaita: Bug Duplicity Detection System [1.9624064951902522]
重複バグ率(重複バグの%)は、製品の成熟度、コードのサイズ、プロジェクトに取り組んでいるエンジニアの数に基づいて、1桁(1~9%)から2桁(40%)の範囲にある。
重複の検出は、2つのバグが同じ意味を持つかどうかを識別する。
このアプローチでは、基本的なテキスト統計的特徴、意味的特徴、文脈的特徴など、複数の機能セットを考慮に入れている。
論文 参考訳(メタデータ) (2020-01-24T04:48:39Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。