NPM-இல் செமண்டிக் வெர்ஷனிங்கின் ஒரு பெரிய அளவிலான பகுப்பாய்வு
Author
Venue
மென்பொருள் களஞ்சியங்களைச் சுரண்டல் (MSR) 2023
Abstract
NPM தொகுப்பு களஞ்சியத்தில் இரண்டு மில்லியனுக்கும் அதிகமான தொகுப்புகள் உள்ளன, மேலும் இது வாரத்திற்குப் பத்து பில்லியனுக்கும் அதிகமான பதிவிறக்கங்களை வழங்குகிறது. ஏறக்குறைய ஒவ்வொரு ஜாவாஸ்கிரிப்ட் பயன்பாடும் NPM களஞ்சியத்திலிருந்து தொகுப்புகளை நிறுவ NPM தொகுப்பு மேலாளரைப் பயன்படுத்துகிறது. NPM ஒரு ஆரோக்கியமான சூழல் அமைப்பைப் பராமரிக்க "அர்த்தமுள்ள பதிப்புமுறை" ('semver') திட்டத்தை நம்பியுள்ளது. இதில் பிழைத்திருத்தங்கள் கீழ்நிலை தொகுப்புகளுக்கு முடிந்தவரை விரைவாகவும் நம்பகத்தன்மையுடனும் வழங்கப்படுகின்றன, அதே நேரத்தில் உடைக்கும் மாற்றங்களுக்கு கீழ்நிலை தொகுப்பு பராமரிப்பாளர்களின் கைமுறைத் தலையீடு தேவைப்படுகிறது. வளர்ச்சியாளர்கள் செம்வெரை எவ்வாறு பயன்படுத்துகிறார்கள் என்பதைப் புரிந்துகொள்ள, NPM-இல் உள்ள ஒவ்வொரு தொகுப்பின் ஒவ்வொரு பதிப்பையும் கொண்ட ஒரு தரவுத்தொகுப்பை நாங்கள் உருவாக்கி, சூழலமைப்பு முழுவதும் புதுப்பிப்புகளின் ஓட்டத்தை பகுப்பாய்வு செய்கிறோம். NPM-க்காக காலப் பயணம் செய்யும் சார்புநிலை தீர்க்கும் கருவியை நாங்கள் உருவாக்குகிறோம், இது வெவ்வேறு நேரங்களில் ஒவ்வொரு சார்புநிலையின் எந்தப் பதிப்புகள் தீர்க்கப்பட்டிருக்கும் என்பதைத் துல்லியமாகக் கண்டறிய எங்களை அனுமதிக்கிறது. சூழலமைப்பின் மற்ற பகுதிகளுடன் ஒப்பிடும்போது, பாதுகாப்பு தொடர்பான புதுப்பிப்புகளை (பாதிப்புகளை அறிமுகப்படுத்தும் அல்லது ஒட்டுப்போடும்) நேரடியாகப் பகுப்பாய்வு செய்வதற்காக எங்கள் பகுப்பாய்வை நாங்கள் பிரிக்கிறோம். டெவலப்பர்கள் செம்வெர்-ஐ சரியாகப் பயன்படுத்தும்போது, பாதுகாப்பு பேட்சுகள் போன்ற முக்கியமான புதுப்பிப்புகள் பெரும்பாலான சந்தர்ப்பங்களில் (90.09%) கீழ்நிலை சார்புநிலைகளுக்கு மிக வேகமாகச் செல்ல முடியும் என்பதை நாங்கள் கண்டறிந்தோம். ஆனால், செம்வெர் பதிப்பு கட்டுப்பாடுகள் மற்றும் செம்வெர் பதிப்பு எண் அதிகரிப்புகள் இரண்டையும் டெவலப்பர்கள் சரியாகப் பயன்படுத்தாததால் இது எப்போதும் நிகழாது. எங்கள் கண்டுபிடிப்புகள் டெவலப்பர்கள் மற்றும் ஆராய்ச்சியாளர்கள் இருவருக்கும் தாக்கங்களைக் கொண்டுள்ளன. எங்கள் உள்கட்டமைப்பு மற்றும் தரவுத்தொகுப்பை ஓப்பன் சோர்ஸ் உரிமத்தின் கீழ் பொதுமக்களுக்குக் கிடைக்கச் செய்கிறோம்.
