Bu sitedeki içerik yapay zeka (AI) veya makine çeviri teknolojisi kullanılarak çevrilmiştir ve hatalar içerebilir.

Skip to content
Programming Languages
Human Computer Interaction
Data Science

Gizliliğe Saygılı Büyük Ölçekli Tip Hatası Telemetrisi

View Publication

Author

Alan Jeffrey (Roblox), Ben Greenman (Brown Üniversitesi + Utah Üniversitesi), Shriram Krishnamurthi (Brown Üniversitesi) ve Mitesh Shah (Roblox)

Venue

Programlamanın Sanatı, Bilimi ve Mühendisliği

Abstract

Bağlam: Roblox Studio, milyonlarca yaratıcının Luau adlı bir Lua varyantında programlama yaparak etkileşimli deneyimler oluşturmasına olanak tanır. Yaratıcılar, ilk senaryolarını yazan acemilerden profesyonel geliştiricilere kadar geniş bir grubu oluşturur; bu nedenle Luau, geniş bir kitleyi desteklemelidir. Her türden programcıyı destekleme çabalarının bir parçası olarak Luau, isteğe bağlı, kademeli bir tip sistemi içerir ve yanlış pozitif hataları en aza indirmek için büyük çaba sarf eder. Araştırma: Luau şu anda birçok içerik oluşturucu tarafından kullanıldığından, dili ve özellikle tip sistemini iyileştirmek için veri toplamak istiyoruz. Veri toplamanın standart yolu, istemci tarafında telemetri kullanmaktır; ancak, kişisel verileri veya özel bilgileri toplayamayız, bu da kaynak kodu parçalarını, hata mesajlarını ve hatta dosya yollarını toplayamayacağımız anlamına gelir. Dolayısıyla araştırma soruları, müdahaleci olmayan bir telemetriyi nasıl yürüteceğimiz ve bundan tip hataları hakkında nasıl içgörüler elde edeceğimizle ilgilidir. Yaklaşım: Luau için takma adlı, rastgele örnekleme yapan bir telemetri sistemi tasarladık ve uyguladık. Telemetri kayıtları, zaman damgası, oturum kimliği, gönderilme nedeni ve en son tip analizlerinin sayısal özetini içerir. Bu bilgiler, özel verileri ifşa etmeden zaman içindeki tip hatalarını incelememizi sağlar. Sistemi 2023 ilkbaharında Roblox Studio'da devreye aldık ve 340.000'den fazla oturumdan 1,5 milyondan fazla telemetri kaydı topladık. Bilgi: Luau hakkında birkaç bulgu sunuyoruz; bunların tümü, telemetrinin tip hatalarının pragmatik özelliklerini incelemek için etkili bir yol olduğunu gösteriyor. En az şaşırtıcı bulgulardan biri, isteğe bağlı kademeli türlerin popüler olmamasıdır: türsüz Luau oturumlarının sayısı ile türlü olanların sayısı arasında 100 kat fark vardır. Şaşırtıcı olan bir bulgu ise, tür analizi için katı modun veri varlıklarıyla etkileşimler konusunda aşırı muhafazakar olmasıdır. Güven verici bir bulgu ise, tür analizinin sorun büyüklüğü konusunda nadiren iç sınırlarına ulaşmasıdır. Temellendirme: Bulgularımız, 1,5 milyondan fazla telemetri kaydından oluşan bir veri seti ile desteklenmektedir. Veriler ve bunları analiz etmek için kullanılan komut dosyaları bir artefaktta mevcuttur. Önemi: Luau'ya sağladığı doğrudan faydaların ötesinde, türler ve tür hataları hakkındaki bulgularımız, TypeScript, Elixir ve Typed Racket gibi diğer kademeli dillerin benimsenmesi ve ergonomisi açısından da önemlidir. Telemetri tasarımımız, hassas bilgileri ifşa etmeden tür hatalarını raporladığı için geniş bir ilgi görmektedir.