このサイトのコンテンツは、人工知能(AI)または機械翻訳技術を使用して翻訳されており、誤りが含まれている場合があります。

Skip to content
Programming Languages
Human Computer Interaction
Data Science

大規模環境におけるプライバシーを尊重したタイプエラーのテレメトリ

View Publication

Author

アラン・ジェフリー(Roblox)、ベン・グリーンマン(ブラウン大学およびユタ大学)、シュリラム・クリシュナムルティ(ブラウン大学)、ミテシュ・シャー(Roblox)

Venue

『プログラミングの芸術、科学、そして工学』

Abstract

背景:Roblox Studioでは、数百万人のクリエイターが「Luau」と呼ばれるLuaの派生言語を用いてプログラミングを行い、インタラクティブな体験を構築しています。クリエイター層は、初めてスクリプトを書く初心者からプロの開発者まで多岐にわたるため、Luauは幅広いユーザー層に対応する必要があります。あらゆるタイプのプログラマーをサポートする取り組みの一環として、Luauにはオプションの段階的型システムが組み込まれており、誤検知エラーを最小限に抑えるために多大な努力が払われています。 調査目的:現在、Luauは多くのクリエイターに利用されているため、言語、特に型システムを改善するためのデータを収集したいと考えています。データを収集する標準的な方法は、クライアントサイドのテレメトリを導入することですが、個人データや機密情報を収集することはできないため、ソースコードの断片、エラーメッセージ、さらにはファイルパスさえも収集することができません。 したがって、本研究の課題は、非侵襲的なテレメトリを実施し、そこから型エラーに関する知見を得る方法にあります。アプローチ:私たちは、Luau向けに仮名化されたランダムサンプリング方式のテレメトリシステムを設計・実装しました。テレメトリレコードには、タイムスタンプ、セッションID、送信理由、および直近の型解析結果の数値要約が含まれます。この情報により、個人データを明かすことなく、経時的な型エラーの傾向を分析することが可能になります。 2023年春にRoblox Studioに本システムを導入し、34万件以上のセッションから150万件を超えるテレメトリ記録を収集した。知見:Luauに関するいくつかの知見を提示するが、いずれもテレメトリが型エラーの実用性を研究する有効な手段であることを示唆している。 あまり驚くべきことではない発見の一つは、オプトイン型の漸進的型付けが不人気であるという点です。型付けされていないLuauセッションの数と、型付けされているセッションの数には100倍の差があります。意外だったのは、型解析の厳格モードがデータアセットとのやり取りに関して過度に保守的であるという点です。心強い発見としては、型解析が問題サイズの内部制限に達することはめったにないということです。 根拠:我々の知見は、150万件を超えるテレメトリ記録からなるデータセットによって裏付けられている。分析に用いたデータおよびスクリプトは、アーティファクトとして公開されている。重要性:Luauへの直接的な恩恵に加え、型および型エラーに関する我々の知見は、TypeScript、Elixir、Typed Racketといった他の漸進的言語における採用や使いやすさにも示唆を与える。また、機密情報を開示することなく型エラーを報告する我々のテレメトリ設計は、広く関心を集めるものである。