論文の概要: SYNFIX: Automatically Fixing Syntax Errors using Compiler Diagnostics
- arxiv url: http://arxiv.org/abs/2104.14671v1
- Date: Thu, 29 Apr 2021 21:57:44 GMT
- ステータス: 処理完了
- システム内更新日: 2021-05-03 13:28:47.500479
- Title: SYNFIX: Automatically Fixing Syntax Errors using Compiler Diagnostics
- Title(参考訳): SynFIX:コンパイラ診断による構文エラーの自動修正
- Authors: Toufique Ahmed, Noah Rose Ledesma, Premkumar Devanbu
- Abstract要約: 生徒は、構文エラーに対処する際の自動修正提案によって助けられ、インストラクターの時間を節約できる。
最新技術を大幅に向上させる機械学習ベースのツールであるSYNFIXを紹介します。
私たちはSYNFIXを無償のVisual Studio Codeのオープンソースバージョンに作りました。すべてのソースコードとモデルを自由に利用できるようにしています。
- 参考スコア(独自算出の注目度): 0.0
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Beginning programmers struggle with the complex grammar of modern programming
languages like Java, and make lot of syntax errors. The diagnostic syntax error
messages from compilers and IDEs are sometimes useful, but often the messages
are cryptic and puzzling. Students could be helped, and instructors' time
saved, by automated repair suggestions when dealing with syntax errors. Large
samples of student errors and fixes are now available, offering the possibility
of data-driven machine-learning approaches to help students fix syntax errors.
Current machine-learning approaches do a reasonable job fixing syntax errors in
shorter programs, but don't work as well even for moderately longer programs.
We introduce SYNFIX, a machine-learning based tool that substantially improves
on the state-of-the-art, by learning to use compiler diagnostics, employing a
very large neural model that leverages unsupervised pre-training, and relying
on multi-label classification rather than autoregressive synthesis to generate
the (repaired) output. We describe SYNFIX's architecture in detail, and provide
a detailed evaluation. We have built SYNFIX into a free, open-source version of
Visual Studio Code; we make all our source code and models freely available.
- Abstract(参考訳): プログラマはJavaのようなモダンなプログラミング言語の複雑な文法に苦労し、多くの構文エラーを起こします。
コンパイラやideからの診断構文エラーメッセージは、時には便利だが、多くの場合、メッセージは暗号化され、混乱する。
生徒は、構文エラーを扱う際の自動修正提案によって助けられ、インストラクターの時間を節約できる。
学生のエラーや修正の大規模なサンプルが利用可能になり、学生が構文エラーを修正するのに役立つデータ駆動機械学習のアプローチが可能になる。
現在の機械学習アプローチは、短いプログラムの構文エラーを適度に修正するが、適度に長いプログラムでもうまく機能しない。
機械学習ベースのツールであるSynFIXを導入し、コンパイラ診断を学習し、教師なし事前学習を活用する非常に大きなニューラルモデルを採用し、自動回帰合成よりもマルチラベル分類に頼って(障害のある)出力を生成する。
我々はSynFIXのアーキテクチャを詳細に記述し、詳細な評価を行う。
私たちはSynFIXを、Visual Studio Codeの無償のオープンソースバージョンに組み込みました。
関連論文リスト
- Multi-Task Program Error Repair and Explanatory Diagnosis [28.711745671275477]
マルチタスクプログラムエラー修復・説明診断(mPRED)のための新しい機械学習手法を提案する。
ソースコードのエンコードには事前訓練された言語モデルが使用され、ダウンストリームモデルはエラーを特定して修復するために特別に設計されている。
プログラム構造を可視化・解析するために,プログラム構造の可視化にグラフニューラルネットワークを用いる。
論文 参考訳(メタデータ) (2024-10-09T05:09:24Z) - LILO: Learning Interpretable Libraries by Compressing and Documenting Code [71.55208585024198]
LILOは、反復的に合成、圧縮、文書化を行う、ニューロシンボリックなフレームワークである。
LILOは、LLM誘導プログラム合成と、Stitchから自動化された最近のアルゴリズムの進歩を組み合わせたものである。
LILOのシンセサイザーが学習した抽象化を解釈し、デプロイするのを手助けすることで、AutoDocがパフォーマンスを向上させることが分かりました。
論文 参考訳(メタデータ) (2023-10-30T17:55:02Z) - How Helpful do Novice Programmers Find the Feedback of an Automated
Repair Tool? [1.2990666399718034]
自動修復ツールであるCLARAを使って初心者にフィードバックを提供する経験について述べる。
まず、私たちはCLARAを拡張してPython言語のより大きなサブセットをサポートし、それからプログラミング演習に使用するJupyter Notebooksと統合しました。
初心者は、しばしば、提案された修復を理解するのに苦労し、コンパイラ/解釈メッセージを理解するのがよく知られた課題であることがわかった。
論文 参考訳(メタデータ) (2023-10-02T07:45:56Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - Dcc --help: Generating Context-Aware Compiler Error Explanations with
Large Language Models [53.04357141450459]
dcc --helpはCS1とCS2のコースにデプロイされ、2565人の学生が10週間で64,000回以上このツールを使っている。
LLMが生成した説明は、コンパイル時間の90%と実行時の75%で概念的に正確であるが、コードに解決策を提供しない命令を無視することが多かった。
論文 参考訳(メタデータ) (2023-08-23T02:36:19Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - Using Large Language Models to Enhance Programming Error Messages [5.903720638984496]
大規模な言語モデルは、エラーメッセージのプログラミングに有用な拡張を作成するために使用することができる。
我々は,大規模言語モデルの利点と欠点について論じ,プログラムエラーメッセージの強化に向けた今後の研究の流れを浮き彫りにする。
論文 参考訳(メタデータ) (2022-10-20T23:17:26Z) - Repairing Bugs in Python Assignments Using Large Language Models [9.973714032271708]
本稿では,プログラム代入のためのAPRシステムを構築するために,コード上で訓練された大規模言語モデルを提案する。
本システムでは,複数モーダルプロンプト,反復クエリ,テストケースベースの数ショット選択,プログラムチャンキングを組み合わせることで,構文的および意味的誤りを解消することができる。
我々は,286の実際の学生プログラム上でMMAPRを評価し,最新のPython構文修復エンジン,BIFI,最新のPython意味修復エンジンを組み合わせたベースラインであるRefactoryと比較した。
論文 参考訳(メタデータ) (2022-09-29T15:41:17Z) - A Syntax-Guided Grammatical Error Correction Model with Dependency Tree
Correction [83.14159143179269]
文法的誤り訂正(英: Grammatical Error Correction, GEC)は、文中の文法的誤りを検出し、訂正するタスクである。
本稿では,依存木の構文知識を利用するためのグラフアテンション機構を採用した構文誘導型GECモデル(SG-GEC)を提案する。
我々は、GECタスクの公開ベンチマークでモデルを評価し、競争結果を得る。
論文 参考訳(メタデータ) (2021-11-05T07:07:48Z) - Leveraging Language to Learn Program Abstractions and Search Heuristics [66.28391181268645]
LAPS(Language for Abstraction and Program Search)は、自然言語アノテーションを用いて、ライブラリとニューラルネットワークによる合成のための検索モデルの共同学習をガイドする手法である。
最先端のライブラリ学習システム(DreamCoder)に統合されると、LAPSは高品質なライブラリを生成し、検索効率と一般化を改善する。
論文 参考訳(メタデータ) (2021-06-18T15:08:47Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。