論文の概要: Dependency-Aware Code Naturalness
- arxiv url: http://arxiv.org/abs/2409.00747v1
- Date: Sun, 1 Sep 2024 15:21:14 GMT
- ステータス: 処理完了
- システム内更新日: 2024-09-06 09:11:31.907254
- Title: Dependency-Aware Code Naturalness
- Title(参考訳): 依存性を意識したコード自然性
- Authors: Chen Yang, Junjie Chen, Jiajun Jiang, Yuliang Huang,
- Abstract要約: そこで本稿では,コードにリッチな依存情報を組み込むことにより,コード自然性を測定するDANという手法を提案する。
具体的には、DANは、プログラム依存グラフをトラバースすることで、複数のコード列を抽出し、各シーケンスの依存関係によって異なるコード行が接続され、各シーケンスを全体として取り出すことで、コード自然度を測定する。
- 参考スコア(独自算出の注目度): 8.204302832893456
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Code naturalness, which captures repetitiveness and predictability in programming languages, has proven valuable for various code-related tasks in software engineering. However, precisely measuring code naturalness remains a fundamental challenge. Existing methods measure code naturalness over individual lines of code while ignoring the deep semantic relations among different lines, e.g., program dependency, which may negatively affect the precision of the measure. In this study, we aim to perform the first empirical study to investigate whether incorporating code dependency, instead of analyzing individual lines, can enhance the precision of measuring code naturalness. To achieve that, we first propose a new method named DAN for measuring code naturalness by incorporating the rich dependency information in the code. Specifically, DAN extracts multiple sequences of code lines by traversing the program dependency graph, where different code lines are connected by dependencies in each sequence, and then the code naturalness will be measured by taking each sequence as a whole. In this way, the dependency information can be well captured. Finally, we have conducted an extensive study to evaluate the influence of code dependency for measuring code naturalness with DAN, and compared it with the state-of-the-art methods under three emerging application scenarios of code naturalness. The results demonstrate that DAN can not only better distinguish natural and unnatural code, but also substantially boost two important downstream applications of code naturalness, i.e., distinguishing buggy and non-buggy code lines and data cleansing for training better code models, reflecting the significance of code dependency in measuring code naturalness.
- Abstract(参考訳): プログラム言語における反復性と予測可能性をキャプチャするコード自然性は、ソフトウェア工学における様々なコード関連タスクに有用であることが証明されている。
しかし、コードの自然さを正確に測定することは、依然として根本的な課題である。
既存の方法は、個々の行のコードに対して自然性を測定すると同時に、プログラム依存など、異なる行間の深い意味関係を無視している。
本研究では,個々の行を解析する代わりに,コード依存を組み込むことによって,コード自然度を測定する精度が向上するかどうかを,最初の実証的研究により検討することを目的とする。
そこで本研究では,コードにリッチな依存性情報を組み込むことにより,コード自然度を測定するDANという手法を提案する。
具体的には、DANは、プログラム依存グラフをトラバースすることで、複数のコード列を抽出し、各シーケンスの依存関係によって異なるコード行が接続され、各シーケンスを全体として取り出すことで、コード自然度を測定する。
このようにして、依存関係情報は適切にキャプチャできる。
最後に、DANによるコード自然度測定におけるコード依存の影響を評価するために、広範囲にわたる研究を行い、コード自然度を3つの新たなアプリケーションシナリオの下で、最先端の手法と比較した。
その結果、DANは自然なコードと非自然なコードを区別するだけでなく、バグやバグのないコード行の区別と、より良いコードモデルのトレーニングのためのデータクリーニングという、2つの重要なダウンストリームのコード自然さのアプリケーションを大幅に向上させ、コード自然さの測定におけるコードの依存性の重要性を反映していることが示された。
関連論文リスト
- CodeI/O: Condensing Reasoning Patterns via Code Input-Output Prediction [47.17755403213469]
我々は,文脈的に構築されたコードに埋め込まれた多様な推論パターンを凝縮する新しい手法であるCodeI/Oを提案する。
与えられたコードとテストケースを完全に自然言語で予測するためにモデルをトレーニングすることで、それらを普遍的な推論プリミティブに公開します。
実験の結果、CodeI/Oは記号、科学、論理学、数学と数値、常識推論タスクに一貫した改善をもたらすことが示された。
論文 参考訳(メタデータ) (2025-02-11T07:26:50Z) - Comments as Natural Logic Pivots: Improve Code Generation via Comment Perspective [85.48043537327258]
本稿では, MANGO (comMents As Natural loGic pivOts) を提案する。
その結果、MANGOは強いベースラインに基づいてコードパス率を大幅に改善することがわかった。
論理的なコメントの復号化戦略の堅牢性は、考えの連鎖よりも顕著に高い。
論文 参考訳(メタデータ) (2024-04-11T08:30:46Z) - Exploring the Impact of Source Code Linearity on the Programmers Comprehension of API Code Examples [0.0]
APIコード例におけるソースコードの(a)線形性と(b)長さが,正確性や使用時間の点でユーザパフォーマンスに与える影響について検討した。
61人のJava開発者を対象に,オンラインコード理解実験を行った。
論文 参考訳(メタデータ) (2024-04-03T00:40:38Z) - SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization [51.67317895094664]
本稿では,大規模なソースコードプロジェクトの理解と維持を支援するファイルレベルのコード要約について検討する。
長いコードシーケンスを効果的に処理するための識別子対応スパース変換器であるSparseCoderを提案する。
論文 参考訳(メタデータ) (2024-01-26T09:23:27Z) - Investigating the Impact of Vocabulary Difficulty and Code Naturalness
on Program Comprehension [3.35803394416914]
本研究の目的は,言語習得の観点から可読性と可読性を評価することである。
我々は,それらの相関関係を理解するために統計的解析を行い,可読性および可読性予測法の性能向上にコード自然性および語彙難易度を用いることができるか分析する。
論文 参考訳(メタデータ) (2023-08-25T15:15:00Z) - NatGen: Generative pre-training by "Naturalizing" source code [18.410818213965918]
我々は,ソースコードの「成熟化」という新たな事前学習目標を提案する。
自然言語とは異なり、コードのバイモーダルでデュアルチャネルの性質により、意味論的に等価なコードを大規模に生成することができます。
私たちは、CodeT5に匹敵する最先端のパフォーマンスを達成するために、3つの生成ソフトウェアエンジニアリングタスクでモデルを微調整します。
論文 参考訳(メタデータ) (2022-06-15T15:08:29Z) - Enhancing Semantic Code Search with Multimodal Contrastive Learning and
Soft Data Augmentation [50.14232079160476]
コード検索のためのマルチモーダルコントラスト学習とソフトデータ拡張を用いた新しい手法を提案する。
我々は,6つのプログラミング言語を用いた大規模データセットにおけるアプローチの有効性を評価するために,広範囲な実験を行った。
論文 参考訳(メタデータ) (2022-04-07T08:49:27Z) - A Transformer-based Approach for Source Code Summarization [86.08359401867577]
コードトークン間のペア関係をモデル化することにより,要約のためのコード表現を学習する。
アプローチは単純であるにもかかわらず、最先端技術よりもかなりの差があることが示される。
論文 参考訳(メタデータ) (2020-05-01T23:29:36Z) - Incorporating External Knowledge through Pre-training for Natural
Language to Code Generation [97.97049697457425]
オープンドメインコード生成は、自然言語(NL)の意図から汎用プログラミング言語でコードを生成することを目的としている。
オンラインプログラミングQAフォーラムStackOverflowとプログラミング言語APIドキュメントからNL-codeペアを自動的にマイニングする。
評価の結果,2つのソースとデータ拡張と検索ベースデータ再サンプリングを組み合わせることで,コード生成テストベッドCoNaLa上でのBLEUスコアが最大2.2%向上することがわかった。
論文 参考訳(メタデータ) (2020-04-20T01:45:27Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。