ஆராய்ச்சிக் குறிப்பு
உருவாக்க மாதிரிகளைக் கொண்டு இடம்சார் நிரற்குறி மாற்றம்
கோரப்பட்ட நிரற்குறி மாற்றத்தைச் செய்ய உருவாக்க மாதிரிக்குப் போதிய சுதந்திரம் அளித்தபடியே, முழுச் செயல்கூற்றையும் தேவையின்றி மறுஎழுதுவதைத் தடுப்பது எப்படி.
நேரடி விடை
முழுச் செயல்கூற்றையும் மீண்டும் எழுதாமல், உருவாக்க மாதிரி நிரற்குறியை எவ்வாறு மாற்ற முடியும்?
உருவாக்கத்திற்கு முன் பாதுகாக்கப்பட்ட பகுதிகளையும் திருத்தத்தக்க பகுதிகளையும் வரையறுக்கவும். பாதுகாக்கப்பட்ட பிரதிநிதித்துவத்தை மீள்பயன்படுத்தவோ கட்டுப்படுத்தவோ செய்து, மாற்ற வேட்புகளை மட்டும் உருவாக்கவும். பாதுகாக்கப்பட்ட நிரற்குறியை மாற்றும் அல்லது பணிக்கேற்ற சரிபார்ப்புகளில் தோல்வியுறும் வெளியீடுகளை நிராகரிக்கவும். இடஞ்சார் தன்மையையும் பணிவெற்றியையும் இணைத்தே அளவிட வேண்டும்.
இந்த வேறுபாடு ஏன் முக்கியம்
முறைக்கும் கூறப்படும் உத்தரவாதத்திற்கும் ஒரே கவனிக்கக்கூடிய எல்லை தேவை.
இடம்சார் நிரற்குறி மாற்றம் என்பது வெறுமனே சுருக்கமான நிரற்குறி-உருவாக்கத் தூண்டல் அல்ல; அது ஒரு திருத்தச் சிக்கல். உள்ளீட்டில் ஏற்கெனவே பாதுகாக்கத் தகுந்த ஆக்கப்பொருள் இருப்பதால், மாற அனுமதிக்கப்பட்ட பகுதிக்கும் நிலையாக இருக்க வேண்டிய பண்புகளுக்கும் இடையே தெளிவான பாதுகாப்பு எல்லை இம்முறைக்குத் தேவை.
எல்லை என்பது மூல உரைப்பகுதி, தொடரியல் கணு, API கையொப்பம், சோதனை நடத்தை, சார்பு ஒப்பந்தம் அல்லது கற்றறிந்த மறைநிலைப் பொறுப்பு ஆகியவற்றில் ஒன்றாக இருக்கலாம். இத்தேர்வுகள் ஒன்றுக்கொன்று மாற்றீடல்ல: ஒவ்வொன்றும் வேறுபட்ட கவனிக்கக்கூடிய பண்பைப் பாதுகாப்பதுடன், அதற்குப் பொருந்திய சரிபார்ப்புப் படியையும் கோருகிறது.
ஒரு நடைமுறைச் செயல்முறை
பேணல் ஒப்பந்தத்தைக் குறிப்பிடுக
திருத்தக்கூடிய பகுதியையும், மாறாமல் இருக்க வேண்டிய துல்லியமான உரை, கட்டமைப்பு, இடைமுகம் அல்லது நடத்தையையும் அடையாளம் காணவும்.
பயனளிக்கும் மிகக் குறுகிய கட்டுப்பாட்டுத் தளத்தைத் தேர்ந்தெடுக்கவும்
மாற்றப்படாத மூலப் பகுதிகளை மறுபயன்படுத்தவும்; இடைநிரப்பல் அல்லது திருத்தம் நோக்கிய குறிவிலக்கலைப் பயன்படுத்தவும்; முறையான கட்டுப்பாடுகளைச் செயல்படுத்தவும்; அல்லது தேவையான பண்புக்கேற்ப தேர்ந்தெடுக்கப்பட்ட மறைநிலை நிலைகளைப் பூட்டவும்.
மாற்றம் அனுமதிக்கப்பட்ட இடங்களில் மட்டும் உருவாக்குக
பணியைத் தீர்க்கத் திருத்தக்கூடிய பகுதிக்குள் போதிய சுதந்திரத்தை வைத்திருக்கவும்; முழு உள்ளீட்டையும் நகலெடுப்பது இடம்சார்ந்ததே என்றாலும் எந்த முன்னேற்றமும் அளிக்காது.
உள்ளூர்மையையும் வெற்றியையும் ஒன்றாகச் சரிபார்க்கவும்
பாதுகாக்கப்பட்ட பகுதிகளை மாற்றுகின்ற, அலகிடல் அல்லது தொகுத்தலில் தோல்வியுறுகின்ற, கட்டமைப்பு மாறிலிகளை மீறுகின்ற, அல்லது கோரப்பட்ட மாற்றத்தை நிறைவேற்றாத வேட்புகளை நிராகரிக்கவும்.
தேவைப்படுத்த வேண்டிய ஆதாரம்
ஒரு கூற்றின் வலிமை, உருவாக்கம் அல்லது குறிவிலக்கத்திற்குப் பிறகு அளவிடப்பட்ட பண்பின் வலிமைக்கு மட்டுமே சமம்.
- பகுதிக்கு வெளியிலான வேறுபாடு அல்லது பாதுகாக்கப்பட்ட பகுதியின் நிலைத்தன்மைக்கான மற்றொரு நேரடி அளவீடு.
- திருத்தக்கூடிய பகுதிக்குள் பணிவெற்றி.
- பொருத்தத்திற்கேற்ப அலகிடல், தொகுத்தல், சோதனைகள், நிலையான பகுப்பாய்வுச் சரிபார்ப்புகள் அல்லது பணிக்குரிய மாறிலிகள்.
- நகலெடுத்தலைக் கட்டுப்பாடாகத் தவறாகக் கருதாதிருக்க, திருத்தத்தக்க பகுதியின் மாற்ற விகிதம்.
- இடஞ்சார் தன்மையை முறைமைச் சரிவுடன் குழப்பாதிருக்க, முன்மொழிவுகளின் தனித்துவமும் மீளியக்க மாறுபாடும்.
இணைக்கப்பட்ட ஆய்வு அறிவிப்பது என்ன
- இணைக்கப்பட்ட பரிசோதனை 64-டோக்கன் Python செயல்கூறுகளைப் படிநிலைத் தனித்த நிலைகளாகச் சுருக்கி, பகுதியளவுக் கட்டுப்பாடுகளின் கீழ் தேர்ந்தெடுத்த மறைநிலைப் பொறுப்புகளை மீண்டும் உருவாக்குகிறது.
- நான்கு உயர்மட்டக் குறியீடுகளைப் பூட்டியபோது parse விகிதம் 0.453 இலிருந்து 0.591 ஆக உயர்ந்தது; பூட்டப்படாத இடங்கள் 0.936 விகிதத்தில் மாறின, நிபந்தனை மாதிரிகள் 0.998 தனித்துவத்துடன் நீடித்தன.
- அந்த அளவீடுகள் token மட்டத்திற்கு மேலுள்ள நிலைத்தன்மை–சுதந்திரப் பரிமாற்றத்தை வெளிப்படுத்துகின்றன; துல்லியமான மூலப் பகுதி, AST, பொருண்மை அல்லது நடத்தைப் பாதுகாப்பை அவை நிரூபிப்பதில்லை.
வெளியீட்டுக் கண்ணோட்டத்தைப் படிக்கவும் கட்டுரையின் முழு உரையில் தேடுக
ஆய்வெல்லை
- பூட்டப்பட்ட மறைநிலைக் குறியீடு தானாகவே AST node, பாதுகாக்கப்பட்ட மூலத் தொடர் அல்லது முறையான மாறிலி ஆகிவிடாது.
- அலகிடல் விகிதம் தொடரியல் நன்கமைவை நிறுவுகிறது; செயல்பாட்டுச் சரித்தன்மையையோ வெற்றிகரமான பழுதுநீக்கத்தையோ அல்ல.
- அறிக்கையிடப்பட்ட சான்று முன்செயலாக்கப்பட்ட குறுகிய Python செயல்கூறுகளிலிருந்து பெறப்பட்டது; களஞ்சிய-அளவிலான நடத்தையை அது நிறுவவில்லை.
முதன்மை மற்றும் தொடர்புடைய ஆதாரங்கள்
மூல முறைகள், அளவீடுகள், கூறப்பட்ட வரம்புகள் ஆகியவற்றிற்கு இணைக்கப்பட்ட ஆய்வுக்கட்டுரைகளைப் பயன்படுத்துங்கள்.
- Inspectable Control for Structure-Preserving Software Regeneration
முதன்மைக் கட்டுரையும் வரம்பிடப்பட்ட படிநிலை மறைநிலைச் சோதனையும்.
- EfficientEdit: Accelerating Code Editing via Edit-Oriented Speculative Decoding
மாறாத மூலப் பகுதிகளை மீண்டும் பயன்படுத்தும், திருத்தம் சார்ந்த குறிவிலக்கம்.
- PAFT: Preservation Aware Fine-Tuning for Minimal-Edit Program Repair
நிரல் பழுதுநீக்கப் பயிற்சியில் பாதுகாப்பையும் குறைந்தபட்ச மாற்றத்தையும் வெளிப்படையாக்குகிறது.