論文の概要: PSIMiner: A Tool for Mining Rich Abstract Syntax Trees from Code
- arxiv url: http://arxiv.org/abs/2103.12778v1
- Date: Tue, 23 Mar 2021 18:23:45 GMT
- ステータス: 処理完了
- システム内更新日: 2021-03-25 13:49:38.541048
- Title: PSIMiner: A Tool for Mining Rich Abstract Syntax Trees from Code
- Title(参考訳): psiminer:コードからリッチな抽象構文木をマイニングするツール
- Authors: Egor Spirin, Egor Bogomolov, Vladimir Kovalenko, Timofey Bryksin
- Abstract要約: PSIMinerはIntelliJプラットフォームからPSIツリーを処理するためのツールである。
この作業では、IntelliJ PlatformからPSIツリーを処理するツールであるPSIMinerを紹介します。
- 参考スコア(独自算出の注目度): 7.054093620465401
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: The application of machine learning algorithms to source code has grown in
the past years. Since these algorithms are quite sensitive to input data, it is
not surprising that researchers experiment with input representations.
Nowadays, a popular starting point to represent code is abstract syntax trees
(ASTs). Abstract syntax trees have been used for a long time in various
software engineering domains, and in particular in IDEs. The API of modern IDEs
allows to manipulate and traverse ASTs, resolve references between code
elements, etc. Such algorithms can enrich ASTs with new data and therefore may
be useful in ML-based code analysis. In this work, we present PSIMiner - a tool
for processing PSI trees from the IntelliJ Platform. PSI trees contain code
syntax trees as well as functions to work with them, and therefore can be used
to enrich code representation using static analysis algorithms of modern IDEs.
To showcase this idea, we use our tool to infer types of identifiers in Java
ASTs and extend the code2seq model for the method name prediction problem.
- Abstract(参考訳): 機械学習アルゴリズムのソースコードへの適用は、ここ数年で増えている。
これらのアルゴリズムは入力データに非常に敏感であるため、研究者が入力表現を試すことは驚くべきことではない。
現在、コードを表現するための一般的な出発点は抽象構文木(AST)である。
抽象構文木は、様々なソフトウェアエンジニアリングドメイン、特にIDEで長い間使われてきた。
現代的なIDEのAPIはASTの操作やトラバース、コード要素間の参照の解決などを可能にします。
このようなアルゴリズムはASTを新しいデータで豊かにすることができるため、MLベースのコード解析に有用である。
この作業では、IntelliJ PlatformからPSIツリーを処理するツールであるPSIMinerを紹介します。
PSIツリーはコード構文木とそれらを扱う関数を含んでいるため、現代のIDEの静的解析アルゴリズムを使ってコード表現を豊かにするために使うことができる。
このアイデアを実証するために、我々のツールはJava ASTの型識別子を推論し、メソッド名予測問題に対するcode2seqモデルを拡張します。
関連論文リスト
- LiteSearch: Efficacious Tree Search for LLM [70.29796112457662]
本研究では,動的ノード選択とノードレベルの探索予算を備えた新しいガイド付き木探索アルゴリズムを提案する。
GSM8KおよびTabMWPデータセットを用いて行った実験により,本手法はベースライン法に比べて計算コストが大幅に低いことを示した。
論文 参考訳(メタデータ) (2024-06-29T05:14:04Z) - LILO: Learning Interpretable Libraries by Compressing and Documenting Code [71.55208585024198]
LILOは、反復的に合成、圧縮、文書化を行う、ニューロシンボリックなフレームワークである。
LILOは、LLM誘導プログラム合成と、Stitchから自動化された最近のアルゴリズムの進歩を組み合わせたものである。
LILOのシンセサイザーが学習した抽象化を解釈し、デプロイするのを手助けすることで、AutoDocがパフォーマンスを向上させることが分かりました。
論文 参考訳(メタデータ) (2023-10-30T17:55:02Z) - Efficient Algorithms for Recognizing Weighted Tree-Adjoining Languages [104.90415092306219]
4つの形式は、ツリー随伴文法(TAG)、線形指数文法(LIG)、プッシュダウン随伴オートマトン(PAA)、組込みプッシュダウンオートマトン(EPDA)に相当する。
我々は,文字列の導出量(文字列のすべてのオートマトン重み)と全導出量(全ての導出量重み)を計算するための新しいアルゴリズムを設計する。
EPDA の場合、我々のアルゴリズムは、$mathcalO(|Gamma|2)$ および $ の因子による Alonso et al. (2001) のアルゴリズムよりも空間効率と時間効率が良い。
論文 参考訳(メタデータ) (2023-10-23T18:26:00Z) - COMEX: A Tool for Generating Customized Source Code Representations [7.151800146054561]
COMEXは、研究者と開発者が複数のコードビューを作成し、組み合わせることを可能にするフレームワークである。
プロシージャ内スニペットとプロシージャ間スニペットの両方を使用して、メソッドレベルのスニペットとプログラムレベルのスニペットの両方を分析することができる。
これは40以上の言語をサポートする、広く使われているインクリメンタル分析ツールであるtree-sitter上に構築されている。
論文 参考訳(メタデータ) (2023-07-10T16:46:34Z) - Interactive Code Generation via Test-Driven User-Intent Formalization [60.90035204567797]
大きな言語モデル(LLM)は、非公式な自然言語(NL)の意図からコードを生成する。
自然言語は曖昧であり、形式的な意味論が欠けているため、正確性の概念を定義するのは難しい。
言語に依存しない抽象アルゴリズムと具体的な実装TiCoderについて述べる。
論文 参考訳(メタデータ) (2022-08-11T17:41:08Z) - AST-Transformer: Encoding Abstract Syntax Trees Efficiently for Code
Summarization [14.225206904493627]
木構造ASTを効率的にエンコードするAST-Transformerを提案する。
実験により、AST-Transformerは最先端技術よりも相当なマージンで優れていることが示された。
論文 参考訳(メタデータ) (2021-12-02T12:57:22Z) - 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) - Assessing the Effectiveness of Syntactic Structure to Learn Code Edit
Representations [2.1793134762413433]
ソースコード編集の表現には抽象構文木(AST)の構造情報を用いる。
code2seqアプローチに触発されて,ASTの構造情報の利用がコード編集のタスクにどのように役立つかを評価する。
論文 参考訳(メタデータ) (2021-06-11T01:23:07Z) - Improving Code Summarization with Block-wise Abstract Syntax Tree
Splitting [15.28941592388958]
ソースコードの構文構造を表現した抽象構文木(AST)がコード要約の生成をガイドするために組み込まれている。
既存のastベースのメソッドはトレーニングが困難で、不適切なコード要約を生成する。
ASTのリッチツリー形式の構文構造をフル活用したBlock-wise Abstract Syntax Tree Splitting法(BASTS)を提案する。
論文 参考訳(メタデータ) (2021-03-14T05:04:06Z) - PyGlove: Symbolic Programming for Automated Machine Learning [88.15565138144042]
シンボリックプログラミングに基づくAutoMLの新しいプログラミング方法を紹介します。
このパラダイムでは、MLプログラムは変更可能であるため、他のプログラムで簡単に操作できます。
PyGloveユーザーは、静的プログラムを検索空間に簡単に変換し、検索空間と検索アルゴリズムをすばやく繰り返し、複雑な検索フローを作成できることを示しています。
論文 参考訳(メタデータ) (2021-01-21T19:05:44Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。