論文の概要: Context-Sensitive Abstract Interpretation of Dynamic Languages
- arxiv url: http://arxiv.org/abs/2401.18029v1
- Date: Wed, 31 Jan 2024 17:45:05 GMT
- ステータス: 処理完了
- システム内更新日: 2024-02-01 13:40:15.988463
- Title: Context-Sensitive Abstract Interpretation of Dynamic Languages
- Title(参考訳): 動的言語の文脈知覚的抽象解釈
- Authors: Franciszek Piszcz
- Abstract要約: Javaのような静的言語とPythonやJavaScriptのような動的言語の間には、IDEツールの品質に大きなギャップがあります。
これらの言語の現代的なフレームワークやライブラリは、最高のエルゴノミクスと可読性を達成するために、その動的能力を大いに利用しています。
本稿では,プログラムの動的メタプログラミングと実行を静的に解析することで,このギャップを埋めるアルゴリズムを提案する。
- 参考スコア(独自算出の注目度): 0.0
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: There is a vast gap in the quality of IDE tooling between static languages
like Java and dynamic languages like Python or JavaScript. Modern frameworks
and libraries in these languages heavily use their dynamic capabilities to
achieve the best ergonomics and readability. This has a side effect of making
the current generation of IDEs blind to control flow and data flow, which often
breaks navigation, autocompletion and refactoring. In this thesis we propose an
algorithm that can bridge this gap between tooling for dynamic and static
languages by statically analyzing dynamic metaprogramming and runtime
reflection in programs. We use a technique called abstract interpretation to
partially execute programs and extract information that is usually only
available at runtime. Our algorithm has been implemented in a prototype
analyzer that can analyze programs written in a subset of JavaScript.
- Abstract(参考訳): Javaのような静的言語とPythonやJavaScriptのような動的言語の間には、IDEツールの品質に大きなギャップがあります。
これらの言語における現代的なフレームワークとライブラリは、最高のエルゴノミクスと可読性を達成するために、彼らの動的な能力を使います。
これは、現在の世代のIDEがフローとデータフローを制御できないようにする副作用であり、ナビゲーション、自動補完、リファクタリングを壊すことが多い。
本稿では,プログラムの動的メタプログラミングと実行時リフレクションを静的に解析することにより,動的言語と静的言語とのこのギャップを埋めるアルゴリズムを提案する。
我々は抽象解釈と呼ばれる手法を用いてプログラムを部分的に実行し、通常は実行時にのみ利用可能な情報を抽出する。
このアルゴリズムはJavaScriptのサブセットで書かれたプログラムを解析できるプロトタイプアナライザとして実装されている。
関連論文リスト
- Dynamic Code Orchestration: Harnessing the Power of Large Language Models for Adaptive Script Execution [0.5735035463793009]
実行中のアプリケーションのコンテキスト内で書かれた言語ディレクティブの動的コード実行について検討する。
この研究は、大規模な言語モデルに支えられて書かれた言語ディレクティブが、いかにして根本的に新しいプログラミングとオペレーティングシステムのパラダイムを提供するかを明確に示している。
論文 参考訳(メタデータ) (2024-08-07T17:11:31Z) - Scaling Symbolic Execution to Large Software Systems [0.0]
シンボル実行は、プログラム検証とバグ検出ソフトウェアの両方で使用される一般的な静的解析手法である。
我々は、Clang Static Analyzerと呼ばれるエラー検出フレームワークと、その周辺に構築されたインフラストラクチャーであるCodeCheckerに焦点を当てた。
論文 参考訳(メタデータ) (2024-08-04T02:54:58Z) - LILO: Learning Interpretable Libraries by Compressing and Documenting Code [71.55208585024198]
LILOは、反復的に合成、圧縮、文書化を行う、ニューロシンボリックなフレームワークである。
LILOは、LLM誘導プログラム合成と、Stitchから自動化された最近のアルゴリズムの進歩を組み合わせたものである。
LILOのシンセサイザーが学習した抽象化を解釈し、デプロイするのを手助けすることで、AutoDocがパフォーマンスを向上させることが分かりました。
論文 参考訳(メタデータ) (2023-10-30T17:55:02Z) - Learning Type Inference for Enhanced Dataflow Analysis [6.999203506253375]
我々は、型アノテーションを確実に予測するように訓練されたTransformerベースのモデルであるCodeTIDAL5を提案する。
私たちのモデルは、MaryTypes4TypeScriptベンチマークで現在の最先端を7.85%上回っています。
JoernTIは、オープンソースの静的解析ツールであるJoernへの私たちのアプローチの統合です。
論文 参考訳(メタデータ) (2023-10-01T13:52:28Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - Augmented Language Models: a Survey [55.965967655575454]
この調査は、言語モデル(LM)が推論スキルとツールの使用能力で強化されているかのレビューを行う。
私たちはこれらをAugmented Language Models (ALMs)と呼ぶ。
トークンの目的の欠如により、ALMは標準的な自然言語タスクを実行しながら、推論、ツールの使用、さらには行動を学ぶことができる。
論文 参考訳(メタデータ) (2023-02-15T18:25:52Z) - Serenity: Library Based Python Code Analysis for Code Completion and
Automated Machine Learning [8.362734311902278]
いくつかのタスクで十分であることが判明したPythonの静的解析のためのフレームワークを提案する。
Serenityは、(a)言語翻訳のコアにおける動的ディスパッチへの依存と(b)ライブラリの極端な抽象化という、2つの基本的なメカニズムを利用する。
本稿では、コード補完と自動機械学習という2つのアプリケーションで、Serenityの分析の効率性と有用性を示す。
論文 参考訳(メタデータ) (2023-01-05T02:09:08Z) - Pre-Trained Language Models for Interactive Decision-Making [72.77825666035203]
目的と観測を埋め込みのシーケンスとして表現する模倣学習の枠組みを述べる。
このフレームワークは様々な環境にまたがって効果的な一般化を可能にすることを実証する。
新たなゴールや新しいシーンを含むテストタスクでは、言語モデルによる初期化ポリシーはタスク完了率を43.6%改善する。
論文 参考訳(メタデータ) (2022-02-03T18:55:52Z) - 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) - Exploring Software Naturalness through Neural Language Models [56.1315223210742]
ソフトウェア自然性仮説(Software Naturalness hypothesis)は、自然言語処理で使用されるのと同じ手法でプログラミング言語を理解することができると主張している。
この仮説は,事前学習されたトランスフォーマーベース言語モデルを用いて,コード解析タスクを実行することによって検討する。
論文 参考訳(メタデータ) (2020-06-22T21:56:14Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。