மெஷின் லேர்னிங் மாடல்கள் டைப் செக் செய்யக்கூடிய TypeScript டைப்களை உருவாக்குகின்றனவா?
Author
Venue
பொருள் சார்ந்த நிரலாக்கத்திற்கான ஐரோப்பிய மாநாடு (ECOOP) 2023
Abstract
டைப் இடம்பெயர்வு என்பது, தொகுக்கும் நேரத்தில் நம்பகத்தன்மையைப் பெறுவதற்காக வகைப்படுத்தப்படாத குறியீட்டில் வகைகளைச் சேர்க்கும் செயல்முறையாகும். டைப்ஸ்கிரிப்ட் மற்றும் பிற படிப்படியான வகை அமைப்புகள், நிரலாளர்கள் துல்லியமற்ற வகைகளுடன் தொடங்கி அவற்றை படிப்படியாக வலுப்படுத்த அனுமதிப்பதன் மூலம் டைப் இடம்பெயர்வை எளிதாக்குகின்றன. இருப்பினும், வகைகளைச் சேர்ப்பது ஒரு கைமுறை முயற்சியாகும், மேலும் பெரிய, தொழில்துறை கோட்பொதிகளில் பல இடம்பெயர்வுகள் பல ஆண்டுகள் எடுத்ததாகப் பதிவாகியுள்ளது. ஆராய்ச்சி சமூகத்தில், டைப்ஸ்கிரிப்ட் டைப் இடம்பெயர்வைத் தானியக்கமாக்க இயந்திர கற்றலைப் பயன்படுத்துவதில் குறிப்பிடத்தக்க ஆர்வம் காட்டப்பட்டுள்ளது. தற்போதுள்ள இயந்திர கற்றல் மாதிரிகள் தனிப்பட்ட TypeScript வகைக் குறிப்புகளைக் கணிப்பதில் உயர் துல்லியத்தைக் காட்டுகின்றன. இருப்பினும், இந்தக் கட்டுரையில் துல்லியம் தவறாக வழிநடத்தக்கூடும் என்றும், நாம் வேறு ஒரு கேள்வியைக் கையாள வேண்டும் என்றும் நாங்கள் வாதிடுகிறோம்: தானியங்கி வகை இடம்பெயர்வு கருவி TypeScript வகை சரிபார்ப்பில் தேர்ச்சி பெறும் குறியீட்டை உருவாக்க முடியுமா? எந்தவொரு வகை கணிப்பு மாதிரியுடனும் பயன்படுத்தக்கூடிய ஒரு TypeScript வகை இடம்பெயர்வு கருவியான TypeWeaver-ஐ நாங்கள் முன்வைக்கிறோம். இலக்கியத்தில் உள்ள மூன்று மாதிரிகளைக் கொண்டு TypeWeaver-ஐ நாங்கள் மதிப்பீடு செய்கிறோம்: DeepTyper, ஒரு மீள்தோன்றும் நரம்பியல் வலையமைப்பு; LambdaNet, ஒரு வரைபட நரம்பியல் வலையமைப்பு; மற்றும் InCoder, நடுவில் நிரப்பும் பணிகளை ஆதரிக்கும் ஒரு பொது-நோக்கம், பல-மொழி மாற்றி. எங்கள் கருவி ஒரு வகை முன்னறிவிப்பு மாதிரியைப் பயன்படுத்துவதற்குத் தேவையான பல படிகளைத் தானியக்கமாக்குகிறது, (1) ஒரு திட்டத்தின் சார்புநிலைகளுக்கான வகைகளை இறக்குமதி செய்தல்; (2) ஜாவாஸ்கிரிப்ட் தொகுதிகளை TypeScript குறிப்பிற்கு இடமாற்றம் செய்தல்; (3) தேவைப்படும்போது TypeScript-ஐ உருவாக்க, கணிக்கப்பட்ட வகைக் குறிப்புகளை நிரலில் செருகுவது; மற்றும் (4) தேவைப்படும்போது வகை அல்லாத கணிப்புகளை நிராகரிப்பது. இதுவரை வகைப்படுத்தப்படாத தொகுப்புகளும் அடங்கிய 513 ஜாவாஸ்கிரிப்ட் தொகுப்புகளின் தரவுத்தொகுப்பில் TypeWeaver-ஐ நாங்கள் மதிப்பீடு செய்கிறோம். சிறந்த வகை கணிப்பு மாதிரியுடன், 21% தொகுப்புகள் மட்டுமே வகை சரிபார்ப்பில் தேர்ச்சி பெறுகின்றன, ஆனால் மிகவும் ஊக்கமளிக்கும் வகையில், 69% கோப்புகள் வெற்றிகரமாக வகை சரிபார்ப்பில் தேர்ச்சி பெறுகின்றன.
