論文の概要: Learning Program Semantics with Code Representations: An Empirical Study
- arxiv url: http://arxiv.org/abs/2203.11790v1
- Date: Tue, 22 Mar 2022 14:51:44 GMT
- ステータス: 処理完了
- システム内更新日: 2022-03-23 15:36:23.416323
- Title: Learning Program Semantics with Code Representations: An Empirical Study
- Title(参考訳): コード表現によるプログラム意味論の学習 : 実証的研究
- Authors: Jing Kai Siow and Shangqing Liu and Xiaofei Xie, Guozhu Meng, Yang Liu
- Abstract要約: プログラムセマンティクスの学習は、様々なコード知的なタスクの中核であり、基礎である。
現在の主流のコード表現テクニックを4つのカテゴリに分類する。
我々は,3つの多様で一般的なコード知能タスクにおいて,その性能を評価する。
- 参考スコア(独自算出の注目度): 22.953964699210296
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: Program semantics learning is the core and fundamental for various code
intelligent tasks e.g., vulnerability detection, clone detection. A
considerable amount of existing works propose diverse approaches to learn the
program semantics for different tasks and these works have achieved
state-of-the-art performance. However, currently, a comprehensive and
systematic study on evaluating different program representation techniques
across diverse tasks is still missed.
From this starting point, in this paper, we conduct an empirical study to
evaluate different program representation techniques. Specifically, we
categorize current mainstream code representation techniques into four
categories i.e., Feature-based, Sequence-based, Tree-based, and Graph-based
program representation technique and evaluate its performance on three diverse
and popular code intelligent tasks i.e., {Code Classification}, Vulnerability
Detection, and Clone Detection on the public released benchmark. We further
design three {research questions (RQs)} and conduct a comprehensive analysis to
investigate the performance. By the extensive experimental results, we conclude
that (1) The graph-based representation is superior to the other selected
techniques across these tasks. (2) Compared with the node type information used
in tree-based and graph-based representations, the node textual information is
more critical to learning the program semantics. (3) Different tasks require
the task-specific semantics to achieve their highest performance, however
combining various program semantics from different dimensions such as control
dependency, data dependency can still produce promising results.
- Abstract(参考訳): プログラムセマンティクス学習は、脆弱性検出、クローン検出など、様々なコード知能タスクのコアであり基礎である。
既存の作品の多くは、異なるタスクのプログラムの意味を学ぶための多様なアプローチを提案しており、これらの作品は最先端のパフォーマンスを達成している。
しかし、現在、様々なタスクにまたがる異なるプログラム表現技術を評価するための包括的で体系的な研究はいまだに欠落している。
この出発点から,本論文では,プログラム表現の異なる手法を評価するための経験的研究を行う。
具体的には、現在主流となっているコード表現テクニックを、機能ベース、シーケンスベース、ツリーベース、グラフベースのプログラム表現技術という4つのカテゴリに分類し、そのパフォーマンスを3つの多種多様なコードインテリジェントなタスク、すなわち、{Code Classification}, Vulnerability Detection, Clone Detection on the public released benchmarkで評価する。
さらに,3つの<research questions(rqs)をデザインし,その性能を総合的に分析する。
より広範な実験結果から,(1)グラフに基づく表現は,これらのタスクにまたがる他の選択手法よりも優れていると結論づける。
2)木に基づく表現やグラフに基づく表現で使われるノードタイプ情報と比較すると,プログラムの意味を学習するためには,ノードテキスト情報の方が重要となる。
(3) タスクごとにタスク固有のセマンティクスが要求されるが、制御依存性などの異なる次元のプログラムセマンティクスを組み合わせることで、データ依存は期待できる結果を生み出すことができる。
関連論文リスト
- Blind Image Quality Assessment via Vision-Language Correspondence: A
Multitask Learning Perspective [93.56647950778357]
ブラインド画像品質評価(BIQA)は、参照情報なしで画像品質の人間の知覚を予測する。
我々は,他のタスクからの補助的知識を活用するために,BIQAのための汎用的かつ自動化されたマルチタスク学習手法を開発した。
論文 参考訳(メタデータ) (2023-03-27T07:58:09Z) - Benchmarking Node Outlier Detection on Graphs [90.29966986023403]
グラフの外れ値検出は、多くのアプリケーションにおいて、新しいが重要な機械学習タスクである。
UNODと呼ばれるグラフに対して、最初の包括的教師なしノード外乱検出ベンチマークを示す。
論文 参考訳(メタデータ) (2022-06-21T01:46:38Z) - An Empirical Investigation of Commonsense Self-Supervision with
Knowledge Graphs [67.23285413610243]
大規模知識グラフから抽出した情報に基づく自己監督は、言語モデルの一般化を改善することが示されている。
本研究では,言語モデルに適用可能な合成データを生成するための知識サンプリング戦略とサイズの影響について検討する。
論文 参考訳(メタデータ) (2022-05-21T19:49:04Z) - Active Multi-Task Representation Learning [50.13453053304159]
本研究は,アクティブラーニングの手法を活用することで,資源タスクのサンプリングに関する最初の公式な研究を行う。
提案手法は, 対象タスクに対する各ソースタスクの関連性を反復的に推定し, その関連性に基づいて各ソースタスクからサンプルを抽出するアルゴリズムである。
論文 参考訳(メタデータ) (2022-02-02T08:23:24Z) - A Comprehensive Analytical Survey on Unsupervised and Semi-Supervised
Graph Representation Learning Methods [4.486285347896372]
本調査は,グラフ埋め込み手法のすべての主要なクラスを評価することを目的としている。
我々は,手動の特徴工学,行列分解,浅部ニューラルネットワーク,深部グラフ畳み込みネットワークなどの手法を含む分類学を用いてグラフ埋め込み手法を編成した。
我々はPyTorch GeometricおよびDGLライブラリ上で実験を設計し、異なるマルチコアCPUおよびGPUプラットフォーム上で実験を行った。
論文 参考訳(メタデータ) (2021-12-20T07:50:26Z) - On the Impact of Multiple Source Code Representations on Software
Engineering Tasks -- An Empirical Study [4.049850026698639]
我々は、ASTパスに基づくアプローチを変更し、複数の表現をアテンションベースモデルへの入力として受け入れる。
提案手法は,メソッドナーミング,プログラム分類,クローン検出の3つのタスクで評価する。
論文 参考訳(メタデータ) (2021-06-21T08:36:38Z) - Mining Program Properties From Neural Networks Trained on Source Code
Embeddings [0.0]
本稿では、ソースコードに基づいて訓練されたディープニューラルネットワークの内部動作を分析して、異なるプログラム特徴をマイニングするための新しいアプローチを提案する。
プログラムの埋め込みごとにオートエンコーダを訓練し、異なるプログラム機能のための内部表現を自律的に構築する内部ニューロンの出現能力をテストする。
論文 参考訳(メタデータ) (2021-03-09T14:25:16Z) - Comparative Code Structure Analysis using Deep Learning for Performance
Prediction [18.226950022938954]
本稿では,アプリケーションの静的情報(抽象構文木やASTなど)を用いてコード構造の変化に基づいて性能変化を予測することの実現可能性を評価することを目的とする。
組込み学習手法の評価により,木系長短メモリ(LSTM)モデルでは,ソースコードの階層構造を利用して遅延表現を発見し,最大84%(個人的問題)と73%(複数の問題を含む組み合わせデータセット)の精度で性能変化を予測できることが示された。
論文 参考訳(メタデータ) (2021-02-12T16:59:12Z) - BUSTLE: Bottom-Up Program Synthesis Through Learning-Guided Exploration [72.88493072196094]
プログラムのボトムアップ検索に学習を活用する新しい合成手法を提案する。
特に、入力出力例のセットに基づいて、探索条件中の中間値の合成を優先順位付けするようにモデルを訓練する。
単純な教師付き学習アプローチであっても,学習とボトムアップ検索の組み合わせは極めて効果的であることを示す。
論文 参考訳(メタデータ) (2020-07-28T17:46:18Z) - Learning Differentiable Programs with Admissible Neural Heuristics [43.54820901841979]
ドメイン固有言語におけるプログラムとして表現される微分可能関数の学習問題について検討する。
我々は、この最適化問題を、プログラム構文のトップダウン導出を符号化した重み付きグラフの探索として構成する。
私たちの重要なイノベーションは、さまざまなニューラルネットワークのクラスを、プログラムの空間上の連続的な緩和と見なすことです。
論文 参考訳(メタデータ) (2020-07-23T16:07:39Z) - Multi-Task Learning for Dense Prediction Tasks: A Survey [87.66280582034838]
マルチタスク学習(MTL)技術は、性能、計算、メモリフットプリントに関する有望な結果を示している。
我々は、コンピュータビジョンにおけるMLLのための最先端のディープラーニングアプローチについて、よく理解された視点を提供する。
論文 参考訳(メタデータ) (2020-04-28T09:15:50Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。