論文の概要: How Do Developers Use Type Inference: An Exploratory Study in Kotlin
- arxiv url: http://arxiv.org/abs/2410.23360v1
- Date: Wed, 30 Oct 2024 18:07:21 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-11-01 17:02:50.076337
- Title: How Do Developers Use Type Inference: An Exploratory Study in Kotlin
- Title(参考訳): 開発者はどのように型推論を使うか: Kotlinでの探索的研究
- Authors: Samuel W. Flint, Ali M. Keshk, Robert Dyer, Hamid Bagheri,
- Abstract要約: KotlinはAndroid開発のデフォルト言語であり、最大のソフトウェアマーケットプレースのひとつです。
ソフトウェアリポジトリをマイニングするツールであるBoaを用いて,大規模な実証的研究を行う。
この結果,ローカル変数や変数に対して,ファイル外でメソッド呼び出しが宣言される場合,型推論が頻繁に使用されることがわかった。
- 参考スコア(独自算出の注目度): 3.382017614888546
- License:
- Abstract: Statically typed languages offer numerous benefits to developers, such as improved code quality and reduced runtime errors, but they also require the overhead of manual type annotations. To mitigate this burden, language designers have started incorporating support for type inference, where the compiler infers the type of a variable based on its declaration/usage context. As a result, type annotations are optional in certain contexts, and developers are empowered to use type inference in these situations. However, the usage patterns of type annotations in languages that support type inference are unclear. These patterns can help provide evidence for further research in program comprehension, in language design, and for education. We conduct a large-scale empirical study using Boa, a tool for mining software repositories, to investigate when and where developers use type inference in 498,963 Kotlin projects. We choose Kotlin because it is the default language for Android development, one of the largest software marketplaces. Additionally, Kotlin has supported declaration-site optional type annotations from its initial release. Our findings reveal that type inference is frequently employed for local variables and variables initialized with method calls declared outside the file are more likely to use type inference. These results have significant implications for language designers, providing valuable insight into where to allow type inference and how to optimize type inference algorithms for maximum efficiency, ultimately improving the development experience for developers.
- Abstract(参考訳): 静的型付け言語は、コード品質の改善やランタイムエラーの削減など、開発者に多くのメリットを提供するが、手動の型アノテーションのオーバーヘッドも必要である。
この負担を軽減するため、言語設計者は型推論のサポートを導入し始めており、コンパイラはその宣言/使用コンテキストに基づいて変数の型を推論する。
その結果、型アノテーションは特定のコンテキストでオプションとなり、開発者はこれらの状況で型推論を使用する権限がある。
しかし、型推論をサポートする言語における型アノテーションの使用パターンは不明確である。
これらのパターンは、プログラム理解、言語設計、教育におけるさらなる研究の証拠となる。
ソフトウェアレポジトリをマイニングするツールであるBoaを使って大規模な実証的研究を行い、開発者が498,963のKotlinプロジェクトで型推論をいつ、どこで使用しているかを調査します。
KotlinはAndroid開発のデフォルト言語であり、最大のソフトウェアマーケットプレースのひとつです。
さらにKotlinは、初期リリースから宣言サイトオプションの型アノテーションをサポートする。
ファイル外で宣言されたメソッド呼び出しで初期化される変数は、型推論を多用する傾向にある。
これらの結果は言語設計者にとって重要な意味を持ち、型推論の可能な場所と、最大効率のために型推論アルゴリズムを最適化する方法に関する貴重な洞察を与え、最終的には開発者の開発エクスペリエンスを改善します。
関連論文リスト
- Inferring Pluggable Types with Machine Learning [0.3867363075280544]
本稿では,機械学習を用いて型付き修飾子を自動的に推論する方法について検討する。
本稿では,最小限のデータフローヒントを符号化した新しい表現NaP-ASTを提案する。
論文 参考訳(メタデータ) (2024-06-21T22:32:42Z) - Language Models for Text Classification: Is In-Context Learning Enough? [54.869097980761595]
最近の基礎言語モデルでは、ゼロショットや少数ショットの設定で多くのNLPタスクで最先端のパフォーマンスが示されている。
より標準的なアプローチよりもこれらのモデルの利点は、自然言語(prompts)で書かれた命令を理解する能力である。
これにより、アノテーション付きインスタンスが限られているドメインのテキスト分類問題に対処するのに適している。
論文 参考訳(メタデータ) (2024-03-26T12:47:39Z) - Learning Type Inference for Enhanced Dataflow Analysis [6.999203506253375]
我々は、型アノテーションを確実に予測するように訓練されたTransformerベースのモデルであるCodeTIDAL5を提案する。
私たちのモデルは、MaryTypes4TypeScriptベンチマークで現在の最先端を7.85%上回っています。
JoernTIは、オープンソースの静的解析ツールであるJoernへの私たちのアプローチの統合です。
論文 参考訳(メタデータ) (2023-10-01T13:52: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) - TypeT5: Seq2seq Type Inference using Static Analysis [51.153089609654174]
本稿では,型予測をコード入力タスクとして扱う新しい型推論手法を提案する。
本手法では静的解析を用いて,型シグネチャがモデルによって予測されるコード要素毎に動的コンテキストを構築する。
また,モデルの入力コンテキストに事前の型予測を組み込んだ反復復号方式を提案する。
論文 参考訳(メタデータ) (2023-03-16T23:48:00Z) - On The Ingredients of an Effective Zero-shot Semantic Parser [95.01623036661468]
我々は、標準発話とプログラムの訓練例を文法から言い換えて、ゼロショット学習を分析する。
改良された文法,より強力なパラフレーズ,効率的な学習手法を用いて,これらのギャップを埋めることを提案する。
我々のモデルはラベル付きデータゼロの2つの意味解析ベンチマーク(Scholar, Geo)で高い性能を達成する。
論文 参考訳(メタデータ) (2021-10-15T21:41:16Z) - 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) - How to Probe Sentence Embeddings in Low-Resource Languages: On
Structural Design Choices for Probing Task Evaluation [82.96358326053115]
構造設計選択に対する探索作業結果の感度について検討する。
我々は、英語で識別する「安定な領域」にある設計選択を多言語で構成した埋め込みを探索する。
私たちは英語の結果が他の言語に移行しないことに気付きます。
論文 参考訳(メタデータ) (2020-06-16T12:37:50Z) - LambdaNet: Probabilistic Type Inference using Graph Neural Networks [46.66093127573704]
本稿では,グラフニューラルネットワークに基づくTypeScriptの確率型推論手法を提案する。
弊社のアプローチでは、数値や文字列などの標準型と、トレーニング中に遭遇していないユーザ定義型の両方を予測できる。
論文 参考訳(メタデータ) (2020-04-29T17:48:40Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。