論文の概要: Towards Summarizing Code Snippets Using Pre-Trained Transformers
- arxiv url: http://arxiv.org/abs/2402.00519v1
- Date: Thu, 1 Feb 2024 11:39:19 GMT
- ステータス: 処理完了
- システム内更新日: 2024-02-02 15:39:39.400723
- Title: Towards Summarizing Code Snippets Using Pre-Trained Transformers
- Title(参考訳): 事前学習トランスフォーマーを用いたコードスニペットの要約に向けて
- Authors: Antonio Mastropaolo, Matteo Ciniselli, Luca Pascarella, Rosalia
Tufano, Emad Aghajani, Gabriele Bavota
- Abstract要約: この作業では、DLモデルをトレーニングしてコードスニペットを文書化するために必要なすべてのステップを取ります。
我々のモデルは84%の精度でコード要約を識別し、それらを文書化されたコード行にリンクすることができる。
これにより、ドキュメント化されたコードスニペットの大規模なデータセットを構築することが可能になった。
- 参考スコア(独自算出の注目度): 20.982048349530483
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: When comprehending code, a helping hand may come from the natural language
comments documenting it that, unfortunately, are not always there. To support
developers in such a scenario, several techniques have been presented to
automatically generate natural language summaries for a given code. Most recent
approaches exploit deep learning (DL) to automatically document classes or
functions, while little effort has been devoted to more fine-grained
documentation (e.g., documenting code snippets or even a single statement).
Such a design choice is dictated by the availability of training data: For
example, in the case of Java, it is easy to create datasets composed of pairs
<Method, Javadoc> that can be fed to DL models to teach them how to summarize a
method. Such a comment-to-code linking is instead non-trivial when it comes to
inner comments documenting a few statements. In this work, we take all the
steps needed to train a DL model to document code snippets. First, we manually
built a dataset featuring 6.6k comments that have been (i) classified based on
their type (e.g., code summary, TODO), and (ii) linked to the code statements
they document. Second, we used such a dataset to train a multi-task DL model,
taking as input a comment and being able to (i) classify whether it represents
a "code summary" or not and (ii) link it to the code statements it documents.
Our model identifies code summaries with 84% accuracy and is able to link them
to the documented lines of code with recall and precision higher than 80%.
Third, we run this model on 10k projects, identifying and linking code
summaries to the documented code. This unlocked the possibility of building a
large-scale dataset of documented code snippets that have then been used to
train a new DL model able to document code snippets. A comparison with
state-of-the-art baselines shows the superiority of the proposed approach.
- Abstract(参考訳): コードを解釈する際には、自然言語のコメントから手伝うことがあり、残念ながら、いつもそこにあるとは限らない。
このようなシナリオで開発者をサポートするために、与えられたコードに対して自然言語サマリーを自動的に生成するテクニックがいくつか提案されている。
最近のアプローチでは、クラスや関数を自動的にドキュメント化するためにディープラーニング(DL)を利用しているが、よりきめ細かいドキュメント(コードスニペットの文書化や単一のステートメントなど)にはほとんど注力していない。
例えば、javaの場合、<method, javadoc>ペアで構成されたデータセットを簡単に作成できます。
このようなコメントからコードへのリンクは、いくつかのステートメントを文書化する内部コメントに関しては自明ではない。
この作業では、DLモデルをトレーニングしてコードスニペットを文書化するために必要なすべてのステップを取ります。
まず、手動で6.6kのコメントを含むデータセットを構築しました。
(i)その種類(例えば、コード概要、todo)に基づいて分類し、
(ii) それらが文書化するコードステートメントにリンクする。
第二に、このようなデータセットを使ってマルチタスクのDLモデルをトレーニングし、コメントを入力して実行できるようにしました。
(i)「コード概要」を表すか否かを分類し、
(ii)それを文書化したコード文にリンクする。
我々のモデルは84%の精度でコード要約を識別し、80%以上の精度で文書化されたコード行にリンクすることができる。
第3に、このモデルを10kプロジェクト上で実行し、コード要約をドキュメントコードに識別し、リンクします。
これにより、ドキュメント化されたコードスニペットの大規模なデータセットを構築して、コードスニペットをドキュメント化可能な新しいDLモデルをトレーニングすることが可能になる。
最先端のベースラインと比較すると,提案手法の優位性を示している。
関連論文リスト
- Building A Coding Assistant via the Retrieval-Augmented Language Model [24.654428111628242]
本研究では,コーディング中の人間の知識探索行動を模倣してコードアシスタントを構築するための検索補助言語モデル(CONAN)を提案する。
コード構造対応検索器(CONAN-R)とデュアルビューコード表現に基づく検索拡張生成モデル(CONAN-G)で構成される。
論文 参考訳(メタデータ) (2024-10-21T17:34:39Z) - Context-aware Code Summary Generation [11.83787165247987]
コード要約生成は、ソースコードのセクションの自然言語記述を記述するタスクである。
大規模言語モデル(LLM)や他のAIベースの技術の最近の進歩は、自動コード要約の実現に役立っている。
本稿では,この文脈を最近のLLMに基づくコード要約に含めるためのアプローチを提案する。
論文 参考訳(メタデータ) (2024-08-16T20:15:34Z) - Generation-Augmented Query Expansion For Code Retrieval [51.20943646688115]
本稿では,次世代のクエリ拡張フレームワークを提案する。
人間の検索プロセスにインスパイアされた – 検索前に回答をスケッチする。
CodeSearchNetベンチマークで、最先端の新たな結果を得る。
論文 参考訳(メタデータ) (2022-12-20T23:49:37Z) - CodeExp: Explanatory Code Document Generation [94.43677536210465]
既存のコード・トゥ・テキスト生成モデルは、コードの高レベルな要約のみを生成する。
我々は、コードのための高品質な説明記述の基準を特定するために、人間の研究を行う。
タスクのための多段階微調整戦略とベースラインモデルを提案する。
論文 参考訳(メタデータ) (2022-11-25T18:05:44Z) - DocCoder: Generating Code by Retrieving and Reading Docs [87.88474546826913]
コードマニュアルとドキュメントを明示的に活用するアプローチであるDocCoderを紹介します。
我々のアプローチは一般的に、どんなプログラミング言語にも適用でき、基礎となるニューラルモデルとは無関係です。
論文 参考訳(メタデータ) (2022-07-13T06:47:51Z) - CERT: Continual Pre-Training on Sketches for Library-Oriented Code
Generation [46.45445767488915]
ライブラリ指向コード生成のモデルをトレーニングするために,未実装のコードコーパスを活用する方法を示す。
PandasEvalとNumpyEvalという2つのベンチマークを作成し、ライブラリ指向のコード生成を評価します。
論文 参考訳(メタデータ) (2022-06-14T14:44:34Z) - InCoder: A Generative Model for Code Infilling and Synthesis [88.46061996766348]
InCoderは、プログラム合成(左から右への生成)と編集(埋め込み)が可能な統合生成モデルである。
InCoderは、許可されたコードの大きなコーパスからコードファイルを生成するように訓練されている。
私たちのモデルは、ゼロショットコードの埋め込みを直接実行できる最初の生成モデルです。
論文 参考訳(メタデータ) (2022-04-12T16:25:26Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - CodeRetriever: Unimodal and Bimodal Contrastive Learning [128.06072658302165]
関数レベルのコードセマンティック表現を訓練するために,一様および二様のコントラスト学習を組み合わせたCodeRetrieverモデルを提案する。
ノンモーダルなコントラスト学習のために、文書と関数名に基づいてポジティブなコードペアを構築するためのセマンティックガイド付き手法を設計する。
バイモーダルなコントラスト学習では、コードのドキュメンテーションとインラインコメントを活用して、テキストコードペアを構築します。
論文 参考訳(メタデータ) (2022-01-26T10:54:30Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。