論文の概要: Explaining Software Bugs Leveraging Code Structures in Neural Machine
Translation
- arxiv url: http://arxiv.org/abs/2212.04584v4
- Date: Tue, 25 Jul 2023 05:58:33 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-24 13:55:50.768054
- Title: Explaining Software Bugs Leveraging Code Structures in Neural Machine
Translation
- Title(参考訳): ニューラルマシン翻訳におけるコード構造を活用したソフトウェアバグの説明
- Authors: Parvez Mahbub, Ohiduzzaman Shuvo, Mohammad Masudur Rahman
- Abstract要約: Bugsplainerは、バグ修正コミットの大規模なコーパスから学ぶことによって、ソフトウェアバグの自然言語説明を生成する。
3つのパフォーマンス指標を用いて評価したところ、BugsplainerはGoogleの標準に従って理解しやすく良い説明を生成できることがわかった。
また、Bugsplainerによる説明がベースラインよりも正確で、より正確で、より有用であることが判明した、20人の参加者を対象にした開発者スタディも実施しました。
- 参考スコア(独自算出の注目度): 5.079750706023254
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: Software bugs claim approximately 50% of development time and cost the global
economy billions of dollars. Once a bug is reported, the assigned developer
attempts to identify and understand the source code responsible for the bug and
then corrects the code. Over the last five decades, there has been significant
research on automatically finding or correcting software bugs. However, there
has been little research on automatically explaining the bugs to the
developers, which is essential but a highly challenging task. In this paper, we
propose Bugsplainer, a transformer-based generative model, that generates
natural language explanations for software bugs by learning from a large corpus
of bug-fix commits. Bugsplainer can leverage structural information and buggy
patterns from the source code to generate an explanation for a bug. Our
evaluation using three performance metrics shows that Bugsplainer can generate
understandable and good explanations according to Google's standard, and can
outperform multiple baselines from the literature. We also conduct a developer
study involving 20 participants where the explanations from Bugsplainer were
found to be more accurate, more precise, more concise and more useful than the
baselines.
- Abstract(参考訳): ソフトウェアバグは開発時間の約50%を占め、世界経済に何十億ドルものコストがかかる。
バグが報告されると、割り当てられた開発者はバグの原因となるソースコードを特定して理解し、修正する。
過去50年間、ソフトウェアバグの自動発見や修正に関する重要な研究が続けられてきた。
しかし、開発者に対してバグを自動的に説明する研究はほとんど行われていない。
本稿では,ソフトウェアバグに対する自然言語の説明を大量のバグ修正コミットから学習することで生成する,トランスフォーマーに基づく生成モデルであるBugsplainerを提案する。
bugplainerはソースコードから構造情報とバギーパターンを利用してバグの説明を生成することができる。
3つのパフォーマンス指標を用いて評価したところ、BugsplainerはGoogleの標準に従って理解しやすく良い説明を生成でき、文献から複数のベースラインを上回ります。
また、bugsplainerの説明がベースラインよりも正確で、より正確で、簡潔で、より有用な20人の参加者による開発者調査も行いました。
関連論文リスト
- Understanding Code Understandability Improvements in Code Reviews [79.16476505761582]
GitHub上のJavaオープンソースプロジェクトからの2,401のコードレビューコメントを分析した。
改善提案の83.9%が承認され、統合され、1%未満が後に復活した。
論文 参考訳(メタデータ) (2024-10-29T12:21:23Z) - What is a "bug"? On subjectivity, epistemic power, and implications for
software research [8.116831482130555]
バグ」は少なくとも1870年代からの工学的「欠陥」の口語である。
現代のソフトウェア指向の定義のほとんどは、開発者が意図したものと、プログラムが実際に何をするかを区別するものである。
バグをファインディングするのは簡単だ" と最初に言うのは,“バグパターンはしばしばエラーとなるコード”だ。
論文 参考訳(メタデータ) (2024-02-13T01:52:42Z) - DebugBench: Evaluating Debugging Capability of Large Language Models [80.73121177868357]
DebugBench - LLM(Large Language Models)のベンチマーク。
C++、Java、Pythonの4つの主要なバグカテゴリと18のマイナータイプをカバーする。
ゼロショットシナリオで2つの商用および4つのオープンソースモデルを評価する。
論文 参考訳(メタデータ) (2024-01-09T15:46:38Z) - Automated Bug Generation in the era of Large Language Models [6.0770779409377775]
BugFarmは任意のコードを複数の複雑なバグに変換する。
BUGFARMが生成した1.9万以上の変異株から435k以上のバグを総合的に評価する。
論文 参考訳(メタデータ) (2023-10-03T20:01:51Z) - Bugsplainer: Leveraging Code Structures to Explain Software Bugs with
Neural Machine Translation [4.519754139322585]
Bugsplainerは、バグ修正コミットの大規模なコーパスから学ぶことによって、ソフトウェアバグの自然言語説明を生成する。
Bugsplainerはバグを推論するためにコード構造を利用し、テキスト生成モデルの微調整バージョンであるCodeT5を採用している。
論文 参考訳(メタデータ) (2023-08-23T17:35:16Z) - Large Language Models of Code Fail at Completing Code with Potential
Bugs [30.80172644795715]
リアルタイムコード提案に触発されたバグコード補完問題について検討する。
潜在的なバグの存在は、高性能なCode-LLMの生成性能を著しく低下させる。
論文 参考訳(メタデータ) (2023-06-06T06:35:27Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - Generation Probabilities Are Not Enough: Uncertainty Highlighting in AI Code Completions [54.55334589363247]
本研究では,不確実性に関する情報を伝達することで,プログラマがより迅速かつ正確にコードを生成することができるかどうかを検討する。
トークンのハイライトは、編集される可能性が最も高いので、タスクの完了が早くなり、よりターゲットを絞った編集が可能になることがわかりました。
論文 参考訳(メタデータ) (2023-02-14T18:43:34Z) - 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) - Advaita: Bug Duplicity Detection System [1.9624064951902522]
重複バグ率(重複バグの%)は、製品の成熟度、コードのサイズ、プロジェクトに取り組んでいるエンジニアの数に基づいて、1桁(1~9%)から2桁(40%)の範囲にある。
重複の検出は、2つのバグが同じ意味を持つかどうかを識別する。
このアプローチでは、基本的なテキスト統計的特徴、意味的特徴、文脈的特徴など、複数の機能セットを考慮に入れている。
論文 参考訳(メタデータ) (2020-01-24T04:48:39Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。