論文の概要: An Enumerative Embedding of the Python Type System in ACL2s
- arxiv url: http://arxiv.org/abs/2507.19015v1
- Date: Fri, 25 Jul 2025 07:08:43 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-07-28 16:16:48.856002
- Title: An Enumerative Embedding of the Python Type System in ACL2s
- Title(参考訳): ACL2におけるPython型システムの列挙埋め込み
- Authors: Samuel Xifaras, Panagiotis Manolios, Andrew T. Walter, William Robertson,
- Abstract要約: 本稿では, ACL2 に Python 型システムのサブセットを埋め込む手法を開発した。
私たちがサポートしているPythonタイプのサブセットには、サポート対象の型で構成されるユーザ定義型だけでなく、最も一般的に使用される型アノテーションの多くが含まれています。
ACL2の埋め込みを使うことで、Pythonプログラムをファズするインプットとして使用できる型のインスタンスを生成することができる。
- 参考スコア(独自算出の注目度): 0.42319861390104824
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Python is a high-level interpreted language that has become an industry standard in a wide variety of applications. In this paper, we take a first step towards using ACL2s to reason about Python code by developing an embedding of a subset of the Python type system in ACL2s. The subset of Python types we support includes many of the most commonly used type annotations as well as user-defined types comprised of supported types. We provide ACL2s definitions of these types, as well as defdata enumerators that are customized to provide code coverage and identify errors in Python programs. Using the ACL2s embedding, we can generate instances of types that can then be used as inputs to fuzz Python programs, which allows us to identify bugs in Python code that are not detected by state-of-the-art Python type checkers. We evaluate our work against four open-source repositories, extracting their type information and generating inputs for fuzzing functions with type signatures that are in the supported subset of Python types. Note that we only use the type signatures of functions to generate inputs and treat the bodies of functions as black boxes. We measure code coverage, which ranges from about 68% to more than 80%, and identify code patterns that hinder coverage such as complex branch conditions and external file system dependencies. We conclude with a discussion of the results and recommendations for future work.
- Abstract(参考訳): Pythonはハイレベルなインタプリタ言語であり、様々なアプリケーションで業界標準になっています。
本稿では,ACL2sのPython型システムのサブセットをACL2sに埋め込むことで,Pythonコードの推論にACL2sを使用するための第一歩を踏み出す。
私たちがサポートしているPythonタイプのサブセットには、サポート対象の型で構成されるユーザ定義型だけでなく、最も一般的に使用される型アノテーションの多くが含まれています。
コードカバレッジを提供し、Pythonプログラムのエラーを特定するためにカスタマイズされたデータ列挙子とともに、これらの型のACL2s定義を提供する。
ACL2の埋め込みを使って、ファズPythonプログラムのインプットとして使用できる型のインスタンスを生成することができるので、最先端のPython型チェッカーで検出されていないPythonコードのバグを特定できます。
我々は4つのオープンソースリポジトリに対する作業を評価し、その型情報を抽出し、Pythonのサブセットでサポートされている型シグネチャを持つファジング関数のインプットを生成する。
関数の型シグネチャを使用して入力を生成し、関数の本体をブラックボックスとして扱うことに注意してください。
コードカバレッジを約68%から80%以上まで測定し、複雑なブランチ条件や外部ファイルシステムの依存関係といったカバレッジを妨げるコードパターンを特定します。
今後の研究の成果と推奨事項について論じて締めくくる。
関連論文リスト
- FLAT: Formal Languages as Types [12.51368195072919]
言語はFLAT (Emphformal Language as Type) とみなす。
メールアドレスとHTMLテキストは異なる型として扱われる。
この考え方をテストフレームワークとしてPythonで実現しています。
論文 参考訳(メタデータ) (2025-01-20T14:16:24Z) - PyPulse: A Python Library for Biosignal Imputation [58.35269251730328]
PyPulseは,臨床およびウェアラブルの両方のセンサ設定において生体信号の計算を行うPythonパッケージである。
PyPulseのフレームワークは、非機械学習バイオリサーバーを含む幅広いユーザーベースに対して、使い勝手の良いモジュラーで拡張可能なフレームワークを提供する。
PyPulseはMITライセンスでGithubとPyPIでリリースしました。
論文 参考訳(メタデータ) (2024-12-09T11:00:55Z) - PoTo: A Hybrid Andersen's Points-to Analysis for Python [3.6793233203143743]
PoToはAndersenスタイルのコンテキスト非感性とフロー非感性を備えたPythonのポイントツー分析である。
PoTo+は、ポイントツー分析に基づいて構築されたPythonの静的型推論である。
論文 参考訳(メタデータ) (2024-09-05T21:26:25Z) - SpannerLib: Embedding Declarative Information Extraction in an Imperative Workflow [4.403628249330994]
このデモでは、Pythonコードにドキュメントスパンナーを埋め込むライブラリであるSpannerLibが紹介されている。
SpannerLibは、Spannerlog (Datalog-based documentpanners)の実装を提供することで、IEプログラムの開発を容易にする
デモシナリオでは、Jupyter Notebook内で、複雑さのレベルが増大したIEプログラムが紹介されている。
論文 参考訳(メタデータ) (2024-09-03T09:25:26Z) - depyf: Open the Opaque Box of PyTorch Compiler for Machine Learning Researchers [92.13613958373628]
textttdepyfは、PyTorchコンパイラの内部動作を復号化するためのツールである。
textttdepyfは、PyTorchが生成したバイトコードを等価なソースコードに逆コンパイルする。
論文 参考訳(メタデータ) (2024-03-14T16:17:14Z) - The Calysto Scheme Project [0.0]
Calysto SchemeはScheme in Continuation-Passing Styleで書かれている。
一連の正当性保存プログラム変換を通じてPythonに変換される。
コール/ccを含む標準のScheme機能をサポートしている。
論文 参考訳(メタデータ) (2023-10-16T23:41:21Z) - Causal-learn: Causal Discovery in Python [53.17423883919072]
因果発見は、観測データから因果関係を明らかにすることを目的としている。
$textitcausal-learn$は因果発見のためのオープンソースのPythonライブラリである。
論文 参考訳(メタデータ) (2023-07-31T05:00:35Z) - PyGOD: A Python Library for Graph Outlier Detection [56.33769221859135]
PyGODは、グラフデータの外れ値を検出するオープンソースライブラリである。
外れ値検出のための主要なグラフベースのメソッドを幅広くサポートしています。
PyGODはBSD 2-Clauseライセンスの下でhttps://pygod.orgとPython Package Index (PyPI)でリリースされている。
論文 参考訳(メタデータ) (2022-04-26T06:15:21Z) - PyHHMM: A Python Library for Heterogeneous Hidden Markov Models [63.01207205641885]
PyHHMM は Heterogeneous-Hidden Markov Models (HHMM) のオブジェクト指向Python実装である。
PyHHMMは、異種観測モデル、データ推論の欠如、異なるモデルの順序選択基準、半教師付きトレーニングなど、同様のフレームワークではサポートされない機能を強調している。
PyHHMMは、numpy、scipy、scikit-learn、およびシーボーンPythonパッケージに依存しており、Apache-2.0ライセンスの下で配布されている。
論文 参考訳(メタデータ) (2022-01-12T07:32:36Z) - 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) - OPFython: A Python-Inspired Optimum-Path Forest Classifier [68.8204255655161]
本稿では,OPFythonと表記されるPythonベースのOptimum-Path Forestフレームワークを提案する。
OPFythonはPythonベースのライブラリなので、C言語よりもフレンドリーな環境とプロトタイピングの作業スペースを提供する。
論文 参考訳(メタデータ) (2020-01-28T15:46:19Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。