論文の概要: FLAT: Formal Languages as Types
- arxiv url: http://arxiv.org/abs/2501.11501v1
- Date: Mon, 20 Jan 2025 14:16:24 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-01-22 14:23:31.970185
- Title: FLAT: Formal Languages as Types
- Title(参考訳): FLAT:型としての形式言語
- Authors: Fengmin Zhu, Andreas Zeller,
- Abstract要約: 言語はFLAT (Emphformal Language as Type) とみなす。
メールアドレスとHTMLテキストは異なる型として扱われる。
この考え方をテストフレームワークとしてPythonで実現しています。
- 参考スコア(独自算出の注目度): 12.51368195072919
- License:
- Abstract: Programmers regularly use strings to encode many types of data, such as Unix file paths, URLs, and email addresses, that are conceptually different. However, existing mainstream programming languages use a unified string type to represent them all. As a result, their type systems will keep quiet when a function requiring an email address is instead fed an HTML text, which may cause unexceptional failures or vulnerabilities. To let the type system distinguish such conceptually different string types, in this paper, we propose to regard \emph{formal languages as types} (FLAT), thereby restricting the set of valid strings by context-free grammars and semantic constraints if needed. To this end, email addresses and HTML text are treated as different types. We realize this idea in Python as a testing framework FLAT-PY. It contains user annotations, all directly attached to the user's code, to (1) define such \emph{language types}, (2) specify pre-/post-conditions serving as \emph{semantic oracles} or contracts for functions, and (3) fuzz functions via random string inputs generated from a \emph{language-based fuzzer}. From these annotations, FLAY-PY \emph{automatically} checks type correctness at runtime via \emph{code instrumentation}, and reports any detected type error as soon as possible, preventing bugs from flowing deeply into other parts of the code. Case studies on real Python code fragments show that FLAT-PY is enable to catch logical bugs from random inputs, requiring a reasonable amount of user annotations.
- Abstract(参考訳): プログラマは文字列を使って、概念的に異なるUnixファイルパス、URL、メールアドレスなど、さまざまな種類のデータをエンコードする。
しかし、既存の主流プログラミング言語はそれら全てを表現するために統一された文字列型を使っている。
結果として、Eメールアドレスを必要とする関数がHTMLテキストを送信された場合、型システムは静かであり、これは例外的な失敗や脆弱性を引き起こす可能性がある。
本稿では,このような概念的に異なる文字列型を区別するために,文脈自由文法と意味制約によって有効な文字列の集合を制限し,その集合をFLAT(emph{formal languages as types})とみなすことを提案する。
この目的のために、メールアドレスとHTMLテキストは異なるタイプとして扱われる。
テストフレームワークFLAT-PYとしてPythonでこのアイデアを実現しています。
ユーザアノテーションは、ユーザのコードに直接アタッチされ、(1)そのような \emph{lang type} を定義し、(2) \emph{semantic oracles} や関数のコントラクトとして機能するプレ/ポスト条件を定義し、(3) ファズ関数は \emph{lang-based fuzzer} から生成されるランダム文字列入力によって生成される。
これらのアノテーションから、FLAY-PY \emph{automatically} は \emph{code instrumentation} を通じて実行時の型正当性をチェックし、検出された型エラーをできるだけ早く報告し、バグがコードの他の部分に深く流れ込むのを防ぐ。
実際のPythonコードフラグメントに関するケーススタディでは、FLAT-PYがランダムな入力から論理的なバグをキャッチし、適切な量のユーザアノテーションを必要とすることが示されている。
関連論文リスト
- Tokenization as Finite-State Transduction [24.19959327497118]
正規言語の全てのトークン化を効率的にエンコードできる有限状態フレームワークを導入する。
そのByte-Pairを示します。
Match(BPE)とMaxPiece(WordPiece)がこのフレームワークに適合する。
これの応用は、あるパターンにマッチするように言語モデルの出力を制約するガイド付き生成である。
論文 参考訳(メタデータ) (2024-10-21T07:10:07Z) - 3DGen: AI-Assisted Generation of Provably Correct Binary Format Parsers [5.102523342662388]
3DGenは、AIエージェントを使用して、混合非公式入力を3Dと呼ばれる言語でフォーマット仕様に変換するフレームワークである。
3DGenはテストスイートに準拠した3D仕様を生成する。
論文 参考訳(メタデータ) (2024-04-16T07:53:28Z) - 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) - Zero and Few-shot Semantic Parsing with Ambiguous Inputs [45.285508941560295]
私たちは、曖昧な自然言語を論理やコードといった形式的な表現に変換するためのフレームワーク、データセット、課題であるAmPを紹介します。
我々は,AmPを用いて,複数ショットのテキスト・ツー・コードシステムがあいまいさをどのように処理し,新しいメトリクスを3つ導入するかを検討する。
事前学習された大規模なモデルでは,意図的な指示を伴わずに,可能な意味の分布を把握できないことが判明した。
論文 参考訳(メタデータ) (2023-06-01T15:46:36Z) - Lexinvariant Language Models [84.2829117441298]
離散語彙記号から連続ベクトルへの写像であるトークン埋め込みは、任意の言語モデル(LM)の中心にある
我々は、語彙記号に不変であり、したがって実際に固定トークン埋め込みを必要としないテクスチトレキシン変種モデルについて研究する。
十分長い文脈を条件として,レキシン変項LMは標準言語モデルに匹敵する難易度が得られることを示す。
論文 参考訳(メタデータ) (2023-05-24T19:10:46Z) - TypeT5: Seq2seq Type Inference using Static Analysis [51.153089609654174]
本稿では,型予測をコード入力タスクとして扱う新しい型推論手法を提案する。
本手法では静的解析を用いて,型シグネチャがモデルによって予測されるコード要素毎に動的コンテキストを構築する。
また,モデルの入力コンテキストに事前の型予測を組み込んだ反復復号方式を提案する。
論文 参考訳(メタデータ) (2023-03-16T23:48:00Z) - Like a Good Nearest Neighbor: Practical Content Moderation and Text
Classification [66.02091763340094]
LaGoNN(Good Nearest Neighbor)は、学習可能なパラメータを導入することなく、隣人の情報で入力テキストを変更するSetFitの変更である。
LaGoNNは望ましくないコンテンツやテキスト分類のフラグ付けに有効であり、SetFitのパフォーマンスを改善する。
論文 参考訳(メタデータ) (2023-02-17T15:43:29Z) - Generalized Funnelling: Ensemble Learning and Heterogeneous Document
Embeddings for Cross-Lingual Text Classification [78.83284164605473]
emphFunnelling (Fun)は、最近提案された言語間テキスト分類手法である。
Emph Generalized Funnelling (gFun) はFunの一般化である。
gFunは、Funや最先端のベースラインよりも大幅に改善されていることを示す。
論文 参考訳(メタデータ) (2021-09-17T23:33:04Z) - 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) - Automatic Extraction of Rules Governing Morphological Agreement [103.78033184221373]
原文から第一パス文法仕様を抽出する自動フレームワークを開発する。
我々は、世界の多くの言語の文法の中核にあるモルフォシンタクティックな現象である合意を記述する規則の抽出に焦点をあてる。
我々のフレームワークはUniversal Dependenciesプロジェクトに含まれるすべての言語に適用され、有望な結果が得られます。
論文 参考訳(メタデータ) (2020-10-02T18:31:45Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。