論文の概要: Graph Neural Networks For Mapping Variables Between Programs -- Extended
Version
- arxiv url: http://arxiv.org/abs/2307.13014v2
- Date: Sat, 29 Jul 2023 13:13:54 GMT
- ステータス: 処理完了
- システム内更新日: 2023-08-01 19:54:21.026214
- Title: Graph Neural Networks For Mapping Variables Between Programs -- Extended
Version
- Title(参考訳): プログラム間の変数マッピングのためのグラフニューラルネットワーク -- 拡張バージョン
- Authors: Pedro Orvalho and Jelle Piepenbrock and Mikol\'a\v{s} Janota and Vasco
Manquinho
- Abstract要約: 両プログラムの抽象構文木(AST)に基づく2つのプログラム間の変数の集合をグラフニューラルネットワーク(GNN)を用いてマッピングする。
変数写像の強みを示すために,プログラム修復作業におけるこれらの写像のユースケースを3つ提示する。
- 参考スコア(独自算出の注目度): 0.0
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: Automated program analysis is a pivotal research domain in many areas of
Computer Science -- Formal Methods and Artificial Intelligence, in particular.
Due to the undecidability of the problem of program equivalence, comparing two
programs is highly challenging. Typically, in order to compare two programs, a
relation between both programs' sets of variables is required. Thus, mapping
variables between two programs is useful for a panoply of tasks such as program
equivalence, program analysis, program repair, and clone detection. In this
work, we propose using graph neural networks (GNNs) to map the set of variables
between two programs based on both programs' abstract syntax trees (ASTs). To
demonstrate the strength of variable mappings, we present three use-cases of
these mappings on the task of program repair to fix well-studied and recurrent
bugs among novice programmers in introductory programming assignments (IPAs).
Experimental results on a dataset of 4166 pairs of incorrect/correct programs
show that our approach correctly maps 83% of the evaluation dataset. Moreover,
our experiments show that the current state-of-the-art on program repair,
greatly dependent on the programs' structure, can only repair about 72% of the
incorrect programs. In contrast, our approach, which is solely based on
variable mappings, can repair around 88.5%.
- Abstract(参考訳): プログラムの自動解析は、コンピュータ科学の多くの分野、特にフォーマルメソッドと人工知能において重要な研究領域である。
プログラム等価性の問題の不確定性のため、2つのプログラムを比較することは極めて困難である。
通常、2つのプログラムを比較するためには、両方のプログラムの変数セットの関係が必要である。
したがって、2つのプログラム間の変数のマッピングは、プログラム等価性、プログラム解析、プログラム修復、クローン検出などのタスクのパノパリーに有用である。
本研究では,両プログラムの抽象構文木(AST)に基づく2つのプログラム間の変数の集合をグラフニューラルネットワーク(GNN)でマッピングする手法を提案する。
変数マッピングの強みを示すため,初級プログラミング課題(IPAs)において,初心者プログラマの間でよく調査された,繰り返し発生するバグを修正するためのプログラム修復作業に,これらのマッピングのユースケースを3つ提示する。
4166組の不正/訂正プログラムのデータセットにおける実験結果から,評価データセットの83%を正しくマッピングできることがわかった。
また,プログラムの修復に関する現状は,プログラムの構造に大きく依存しているため,不正確なプログラムの約72%しか修復できないことを示した。
対照的に、変数マッピングのみに基づくアプローチでは、約88.5%を修復できる。
関連論文リスト
- VDebugger: Harnessing Execution Feedback for Debugging Visual Programs [103.61860743476933]
V Debuggerは、視覚プログラムのローカライズとデバッギングのために、段階的に実行を追跡することで訓練された、批評家とリファインダーのフレームワークである。
Vデバッガは、詳細な実行フィードバックを活用してプログラムエラーを特定し、修正する。
6つのデータセットの評価は、Vデバッガの有効性を示し、ダウンストリームタスクの精度が最大3.2%向上したことを示している。
論文 参考訳(メタデータ) (2024-06-19T11:09:16Z) - Giving Feedback on Interactive Student Programs with Meta-Exploration [74.5597783609281]
ウェブサイトやゲームのようなインタラクティブなソフトウェアを開発することは、特にコンピュータ科学を学ぶための魅力的な方法である。
標準的アプローチでは、インストラクターは、学生が実装した対話型プログラムを手動で評価する必要がある。
Code.orgのような何百万ものオンラインプラットフォームは、インタラクティブなプログラムを実装するための代入に関するフィードバックを提供することができない。
論文 参考訳(メタデータ) (2022-11-16T10:00:23Z) - Learning from Self-Sampled Correct and Partially-Correct Programs [96.66452896657991]
そこで本研究では,モデルが学習中にサンプリングを行い,自己サンプリングされた完全正当プログラムと部分正当プログラムの両方から学習することを提案する。
自己サンプリング型プログラムと部分修正型プログラムを併用することで,学習とサンプリングプロセスのガイドに役立てることができることを示す。
提案手法は,MLEを用いた単一の参照プログラムからの学習と比較して,パス@kの性能を3.1%から12.3%向上させる。
論文 参考訳(メタデータ) (2022-05-28T03:31:07Z) - Searching for More Efficient Dynamic Programs [61.79535031840558]
本稿では,プログラム変換の集合,変換プログラムの効率を評価するための単純な指標,およびこの指標を改善するための探索手順について述べる。
実際に、自動検索は初期プログラムの大幅な改善を見出すことができることを示す。
論文 参考訳(メタデータ) (2021-09-14T20:52:55Z) - Enforcing Consistency in Weakly Supervised Semantic Parsing [68.2211621631765]
本稿では,関連する入力に対する出力プログラム間の整合性を利用して,スプリアスプログラムの影響を低減することを提案する。
より一貫性のあるフォーマリズムは、一貫性に基づくトレーニングを必要とせずに、モデルパフォーマンスを改善することにつながります。
論文 参考訳(メタデータ) (2021-07-13T03:48:04Z) - funcGNN: A Graph Neural Network Approach to Program Similarity [0.90238471756546]
FuncGNNは、ラベル付きCFGペアでトレーニングされたグラフニューラルネットワークで、効果的な埋め込みベクトルを利用することで、目に見えないプログラムペア間のGEDを予測する。
ハイレベル言語プログラム間の類似性を推定するためにラベル付きCFGにグラフニューラルネットワークが適用されたのはこれが初めてである。
論文 参考訳(メタデータ) (2020-07-26T23:16:24Z) - Graph-based, Self-Supervised Program Repair from Diagnostic Feedback [108.48853808418725]
本稿では,ソースコードの修復や診断フィードバックに関連するシンボルを結合するプログラムフィードバックグラフを提案する。
次に、推論プロセスのモデル化にグラフニューラルネットワークを適用します。
オンラインで利用可能なラベルのないプログラムを活用するプログラム修復のための自己指導型学習パラダイムを提案する。
論文 参考訳(メタデータ) (2020-05-20T07:24:28Z) - Bin2vec: Learning Representations of Binary Executable Programs for
Security Tasks [15.780176500971244]
我々は、計算プログラムグラフとともに、GCN(Graph Convolutional Networks)を活用する新しいアプローチであるBin2vecを紹介する。
我々は,2つの意味的に異なるバイナリ解析タスクを解くために,我々の表現を用いることで,このアプローチの汎用性を実証する。
我々は、ソースコードベースのinst2vecアプローチと比較して、分類誤差を40%削減して、新しい最先端結果を設定した。
論文 参考訳(メタデータ) (2020-02-09T15:46:43Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。