गोपनीयतेचा आदर करणारी टाइप एरर टेलीमेट्री मोठ्या प्रमाणावर
Author
Venue
प्रोग्रामिंगचे कला, विज्ञान आणि अभियांत्रिकी
Abstract
संदर्भ: Roblox Studio लाखो निर्मात्यांना Lua या भाषेच्या Luau या रूपात प्रोग्रामिंग करून परस्परसंवादी अनुभव तयार करण्याची परवानगी देते. निर्मात्यांचा गट नवशिक्यांपासून ते व्यावसायिक विकासकांपर्यंतचा विस्तृत असतो; त्यामुळे Luau ला मोठ्या प्रेक्षकांना समर्थन देणे आवश्यक आहे. सर्व प्रकारच्या प्रोग्रामरना समर्थन देण्याच्या प्रयत्नांचा भाग म्हणून, Luau मध्ये ऐच्छिक, क्रमिक प्रकार प्रणाली आहे आणि खोटे सकारात्मक त्रुटी कमी करण्यासाठी मोठ्या प्रमाणात प्रयत्न केले जातात. चौकशी: सध्या अनेक निर्माते लुआउ वापरत असल्यामुळे, आम्ही भाषा आणि विशेषतः प्रकार प्रणाली सुधारण्यासाठी डेटा गोळा करू इच्छितो. डेटा गोळा करण्याचा मानक मार्ग म्हणजे क्लायंट-साइड टेलीमेट्री तैनात करणे; तथापि, आम्ही वैयक्तिक डेटा किंवा मालकीची माहिती स्क्रॅप करू शकत नाही, ज्याचा अर्थ आम्ही स्रोत कोडचे तुकडे, त्रुटी संदेश किंवा अगदी फाईलपथही गोळा करू शकत नाही. म्हणून, संशोधनाचे प्रश्न अशा प्रकारे आहेत की हस्तक्षेप न करता टेलिमेट्री कशी करावी आणि त्यातून प्रकारातील चुका (type errors) याबद्दल अंतर्दृष्टी कशी मिळवावी. दृष्टिकोन: आम्ही लुआउसाठी एक छद्मनामित, यादृच्छिक नमुना घेणारी टेलिमेट्री प्रणाली डिझाइन आणि अंमलात आणली. टेलिमेट्री नोंदींमध्ये टाइमस्टँप, सत्र आयडी (session id), पाठवण्याचे कारण, आणि सर्वात अलीकडील प्रकार विश्लेषणांचा (type analyses) संख्यात्मक सारांश यांचा समावेश असतो. ही माहिती आम्हाला खाजगी डेटा उघड न करता कालांतराने प्रकारातील चुका (type errors) अभ्यासण्याची परवानगी देते. आम्ही ही प्रणाली वसंत २०२३ मध्ये Roblox Studio मध्ये तैनात केली आणि ३४०,००० पेक्षा जास्त सत्रांमधून १.५ दशलक्षाहून अधिक टेलिमेट्री नोंदी गोळा केल्या. ज्ञान: आम्ही Luau बद्दल अनेक निष्कर्ष सादर करतो, जे सर्व सूचित करतात की टेलिमेट्री हा प्रकार त्रुटींच्या व्यावहारिकतेचा अभ्यास करण्याचा एक प्रभावी मार्ग आहे. कमी आश्चर्यकारक निष्कर्षांपैकी एक म्हणजे 'ऑप्ट-इन' क्रमिक प्रकार (opt-in gradual types) लोकप्रिय नाहीत: टायप न केलेल्या लुआउ सत्रांची संख्या आणि टायप केलेल्या सत्रांची संख्या यामध्ये 100 पट इतका फरक आहे. एक आश्चर्य म्हणजे प्रकार विश्लेषणासाठीचा काटेकोर मोड (strict mode) डेटा मालमत्तांशी (data assets) होणाऱ्या परस्परसंवादाबाबत खूपच जपून वागतो. एक दिलासा देणारा निष्कर्ष म्हणजे प्रकार विश्लेषण (type analysis) क्वचितच समस्या आकारावरील त्याच्या अंतर्गत मर्यादा गाठते. आधार: आमच्या निष्कर्षांना 1.5 दशलक्षाहून अधिक टेलिमेट्री नोंदींचा डेटासेट पाठबळ पुरवतो. डेटा आणि त्याचे विश्लेषण करण्यासाठीचे स्क्रिप्ट्स एका आर्टिफॅक्टमध्ये उपलब्ध आहेत. महत्त्व: लुआउला होणाऱ्या तात्काळ फायद्यांपलीकडे, प्रकार आणि प्रकारांच्या चुका याबद्दलचे आमचे निष्कर्ष TypeScript, Elixir, आणि Typed Racket यांसारख्या इतर क्रमिक भाषांमध्ये स्वीकार आणि वापरक्षमतेवर परिणाम करतात. आमची टेलिमेट्री रचना व्यापक स्वारस्यपूर्ण आहे, कारण ती संवेदनशील माहिती उघड न करता प्रकारांच्या चुका याबद्दल अहवाल देते.
