論文の概要: Do Machine Learning Models Produce TypeScript Types That Type Check?
- arxiv url: http://arxiv.org/abs/2302.12163v2
- Date: Tue, 11 Jul 2023 17:24:57 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-24 13:05:57.526696
- Title: Do Machine Learning Models Produce TypeScript Types That Type Check?
- Title(参考訳): 機械学習モデルは型チェックのTypeScript型を生成するか?
- Authors: Ming-Ho Yee, Arjun Guha
- Abstract要約: 任意の型予測モデルで使用可能なTypeScriptの型マイグレーションツールであるTypeWeaverを紹介します。
我々は、再帰型ニューラルネットワークのDeepTyper、グラフニューラルネットワークのLambdaNet、汎用多言語トランスフォーマーのInCoderの3つのモデルでこれを評価した。
最高の型予測モデルでは、パッケージの21%の型チェックしかありませんが、もっと励ましく言えば、ファイルの69%が型チェックを成功させています。
- 参考スコア(独自算出の注目度): 2.1365083849371747
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Type migration is the process of adding types to untyped code to gain
assurance at compile time. TypeScript and other gradual type systems facilitate
type migration by allowing programmers to start with imprecise types and
gradually strengthen them. However, adding types is a manual effort and several
migrations on large, industry codebases have been reported to have taken
several years. In the research community, there has been significant interest
in using machine learning to automate TypeScript type migration. Existing
machine learning models report a high degree of accuracy in predicting
individual TypeScript type annotations. However, in this paper we argue that
accuracy can be misleading, and we should address a different question: can an
automatic type migration tool produce code that passes the TypeScript type
checker?
We present TypeWeaver, a TypeScript type migration tool that can be used with
an arbitrary type prediction model. We evaluate TypeWeaver with three models
from the literature: DeepTyper, a recurrent neural network; LambdaNet, a graph
neural network; and InCoder, a general-purpose, multi-language transformer that
supports fill-in-the-middle tasks. Our tool automates several steps that are
necessary for using a type prediction model, (1) importing types for a
project's dependencies; (2) migrating JavaScript modules to TypeScript
notation; (3) inserting predicted type annotations into the program to produce
TypeScript when needed; and (4) rejecting non-type predictions when needed.
We evaluate TypeWeaver on a dataset of 513 JavaScript packages, including
packages that have never been typed before. With the best type prediction
model, we find that only 21% of packages type check, but more encouragingly,
69% of files type check successfully.
- Abstract(参考訳): 型マイグレーションは、コンパイル時に保証を得るために非型付きコードに型を追加するプロセスである。
TypeScriptや他の段階的な型システムは、プログラマが不正確な型から始めて、徐々に強化することで、型マイグレーションを促進する。
しかし、型の追加は手作業であり、大規模な業界コードベースへのいくつかの移行には数年を要したと報告されている。
研究コミュニティでは、TypeScriptの型マイグレーションを自動化するために機械学習を使用することに大きな関心が寄せられている。
既存の機械学習モデルは、個々のTypeScript型アノテーションを予測する際に高い精度を報告している。
自動型マイグレーションツールは、typescriptの型チェッカーをパスするコードを生成することができるのでしょうか?
任意の型予測モデルで使用可能なTypeScriptの型マイグレーションツールであるTypeWeaverを紹介します。
本稿では,リカレントニューラルネットワークであるdeeptyper,グラフニューラルネットワークであるlambdanet,中間タスクをサポートする汎用多言語トランスフォーマーであるincoderの3つのモデルを用いて,typeweaverを評価する。
当社のツールは,(1)プロジェクトの依存関係に対する型インポート,(2)JavaScriptモジュールをTypeScript表記に移行する,(3)TypeScriptを生成するためにプログラムに予測型アノテーションを挿入する,(4)必要であれば非型予測を拒否する,といった,型予測モデルの使用に必要ないくつかのステップを自動化する。
私たちは513のjavascriptパッケージのデータセット上でtypeweaverを評価します。
最良の型予測モデルでは、パッケージの型チェックは21%に過ぎませんが、より奨励的に、ファイルの型チェックの69%が成功しています。
関連論文リスト
- Inferring Pluggable Types with Machine Learning [0.3867363075280544]
本稿では,機械学習を用いて型付き修飾子を自動的に推論する方法について検討する。
本稿では,最小限のデータフローヒントを符号化した新しい表現NaP-ASTを提案する。
論文 参考訳(メタデータ) (2024-06-21T22:32:42Z) - Generative Type Inference for Python [62.01560866916557]
本稿では静的解析から静的ドメイン知識を取り入れた数ショットの生成型推論手法であるTypeGenを紹介する。
TypeGenは、静的解析の型推論ステップを、型依存グラフ(TDG)に基づいたプロンプトに変換することで、COTプロンプトを生成する。
実験の結果、TypeGenは引数型予測では10.0%、Top-1 Exact Matchでは22.5%で最高のベースラインであるType4Pyを上回っている。
論文 参考訳(メタデータ) (2023-07-18T11:40:31Z) - Type Prediction With Program Decomposition and Fill-in-the-Type Training [2.7998963147546143]
大規模な言語モデルを活用する型予測のための検索ベースのアプローチであるOpenTauを構築した。
TypeScriptの型予測のための新しいデータセットで作業を評価し、ファイルタイプチェックの47.4%(14.5%の絶対的改善)とファイル毎の3.3型のエラー率を示している。
論文 参考訳(メタデータ) (2023-05-25T21:16:09Z) - TypeT5: Seq2seq Type Inference using Static Analysis [51.153089609654174]
本稿では,型予測をコード入力タスクとして扱う新しい型推論手法を提案する。
本手法では静的解析を用いて,型シグネチャがモデルによって予測されるコード要素毎に動的コンテキストを構築する。
また,モデルの入力コンテキストに事前の型予測を組み込んだ反復復号方式を提案する。
論文 参考訳(メタデータ) (2023-03-16T23:48:00Z) - Query and Extract: Refining Event Extraction as Type-oriented Binary
Decoding [51.57864297948228]
本稿では,自然言語クエリとしてイベントタイプと引数ロールを取り入れた新しいイベント抽出フレームワークを提案する。
我々のフレームワークは、イベントタイプや引数ロールと入力テキストとのセマンティックな相関をよりよく捉えるための注意機構の恩恵を受ける。
論文 参考訳(メタデータ) (2021-10-14T15:49:40Z) - Type4Py: Deep Similarity Learning-Based Type Inference for Python [9.956021565144662]
類似度学習に基づくpythonの型推論モデルであるtype4pyを提案する。
高次元空間における同種の型と異種の型を区別することを学ぶ階層的ニューラルネットワークモデルを設計する。
Top-1の予測を考えると、Type4PyはTypilusとTypeWriterよりも19.33%、13.49%高い精度である。
論文 参考訳(メタデータ) (2021-01-12T13:32:53Z) - Unsupervised Label-aware Event Trigger and Argument Classification [73.86358632937372]
まず,利用可能なツール(srlなど)でイベントを識別し,それを事前に定義されたイベントタイプに自動マップする,教師なしイベント抽出パイプラインを提案する。
事前訓練された言語モデルを利用して、イベントトリガと引数の両方の事前定義された型を文脈的に表現します。
我々は、トリガーの83%と引数の54%を正しい型にマッピングし、以前のゼロショットアプローチのパフォーマンスをほぼ倍にしました。
論文 参考訳(メタデータ) (2020-12-30T17:47:24Z) - Learning Sparse Prototypes for Text Generation [120.38555855991562]
プロトタイプ駆動のテキスト生成は、トレーニングコーパス全体の保存とインデックスを必要とするため、テスト時に非効率である。
本稿では,言語モデリング性能を向上するスパースなプロトタイプサポートセットを自動的に学習する新しい生成モデルを提案する。
実験では,1000倍のメモリ削減を実現しつつ,従来のプロトタイプ駆動型言語モデルよりも優れていた。
論文 参考訳(メタデータ) (2020-06-29T19:41:26Z) - LambdaNet: Probabilistic Type Inference using Graph Neural Networks [46.66093127573704]
本稿では,グラフニューラルネットワークに基づくTypeScriptの確率型推論手法を提案する。
弊社のアプローチでは、数値や文字列などの標準型と、トレーニング中に遭遇していないユーザ定義型の両方を予測できる。
論文 参考訳(メタデータ) (2020-04-29T17:48:40Z) - Typilus: Neural Type Hints [17.332608142043004]
本稿では,プログラムの構造,名称,パターンを確率論的に推論することで,型を予測するグラフニューラルネットワークモデルを提案する。
我々のモデルは,レアおよびユーザ定義型を含む,オープンなタイプの語彙を予測するために,ワンショット学習を用いることができる。
タイピロスは、すべてのアノテータ可能なシンボルの70%の型を自信を持って予測する。
論文 参考訳(メタデータ) (2020-04-06T11:14:03Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。