పరిశోధనా గమనిక

ఉత్పాదక నమూనాలతో స్థానికీకృత కోడ్ మార్పు

అభ్యర్థించిన కోడ్ మార్పు చేయడానికి ఉత్పాదక నమూనాకు తగిన స్వేచ్ఛను ఉంచుతూనే, మొత్తం ఫంక్షన్‌ను అనవసరంగా తిరిగి రాయడాన్ని ఎలా నివారించాలి.

ఈ పరిశోధనా గమనికను పంచుకోండిపంచుకోండి

సూటి సమాధానం

మొత్తం ఫంక్షన్‌ను తిరిగి రాయకుండానే ఉత్పాదక నమూనా కోడ్‌ను ఎలా మార్చగలదు?

ఉత్పాదనకు ముందే పరిరక్షిత, సవరించదగిన ప్రాంతాలను నిర్వచించి, పరిరక్షిత నిరూపణను పునర్వినియోగించండి లేదా నిర్బంధించండి; అభ్యర్థి మార్పులను మాత్రమే ఉత్పత్తి చేసి, పరిరక్షిత కోడ్‌ను మార్చే లేదా కార్య-నిర్దిష్ట తనిఖీల్లో విఫలమయ్యే అవుట్‌పుట్‌లను తిరస్కరించండి. స్థానికతను, కార్య విజయాన్ని కలిపి కొలవాలి.

ఈ భేదం ఎందుకు ముఖ్యం

పద్ధతికి, దాని గురించి చేసే హామీకి ఒకే పరిశీలించదగిన సరిహద్దు అవసరం.

స్థానికీకృత కోడ్ మార్పు అనేది సవరణ సమస్య; కేవలం సంక్షిప్త కోడ్-ఉత్పాదన ప్రాంప్ట్ కాదు. ఇన్‌పుట్‌లో ఇప్పటికే పరిరక్షించదగిన కళాఖండం ఉంది. కాబట్టి మార్పుకు అనుమతించిన ప్రాంతానికీ స్థిరంగా ఉండవలసిన లక్షణాలకూ మధ్య స్పష్టమైన పరిరక్షణ సరిహద్దు పద్ధతికి అవసరం.

ఆ సరిహద్దు మూల విస్తృతి, వాక్యనిర్మాణ నోడ్, API సిగ్నేచర్, పరీక్షా ప్రవర్తన, ఆధారితత్వ ఒప్పందం లేదా అభ్యసిత గుప్త స్థానం కావచ్చు. ఈ ఎంపికలు పరస్పరం ప్రత్యామ్నాయాలు కావు: ప్రతి ఒక్కటి వేరే పరిశీలించదగిన లక్షణాన్ని పరిరక్షిస్తుంది; దానికి సరిపోయే ధ్రువీకరణ దశ అవసరం.

ఆచరణాత్మక ప్రక్రియ

  1. పరిరక్షణ ఒప్పందాన్ని పేర్కొనండి

    సవరించదగిన ప్రాంతాన్ని, మారకుండా ఉండవలసిన నిర్దిష్ట పాఠ్యం, నిర్మాణం, ఇంటర్‌ఫేస్ లేదా ప్రవర్తనను గుర్తించండి.

  2. ఉపయోగకరమైన వాటిలో అత్యంత పరిమిత నియంత్రణ అంతర్ముఖాన్ని ఎంచుకోండి

    మార్పులేని సోర్స్ భాగాలను పునర్వినియోగించండి; ఇన్‌ఫిల్లింగ్ లేదా సవరణ-ఆధారిత డీకోడింగ్‌ను ఉపయోగించండి; రూపబద్ధ నిర్బంధాలను వర్తింపజేయండి; లేదా అవసరమైన లక్షణానికి అనుగుణంగా ఎంచుకున్న గుప్త స్థానాలను లాక్ చేయండి.

  3. మార్పుకు అనుమతించిన చోట మాత్రమే ఉత్పాదించండి

    కార్యాన్ని పరిష్కరించేందుకు సవరించదగిన ప్రాంతంలో తగినంత స్వేచ్ఛను ఉంచండి; మొత్తం ఇన్‌పుట్‌ను నకలు చేయడం స్థానికమే అయినా, దానివల్ల ఎలాంటి పురోగతీ ఉండదు.

  4. స్థానికతను, విజయాన్ని కలిపి ధ్రువీకరించండి

    సంరక్షిత ప్రాంతాలను మార్చే, పార్సింగ్ లేదా కంపైలేషన్‌లో విఫలమయ్యే, నిర్మాణాత్మక అవికారి నియమాలను ఉల్లంఘించే, లేదా కోరిన మార్పును నెరవేర్చని అభ్యర్థులను తిరస్కరించండి.

తప్పనిసరిగా కావలసిన సాక్ష్యం

ఒక వాదన బలం, ఉత్పాదన లేదా డీకోడింగ్ తరువాత కొలిచిన లక్షణం బలాన్ని మించదు.

  • ప్రాంతం వెలుపలి diff లేదా రక్షిత ప్రాంత స్థిరత్వాన్ని నేరుగా కొలిచే మరొక ప్రమాణం.
  • సవరించదగిన ప్రాంతంలో కార్యసాధన.
  • వర్తించే మేరకు పార్సింగ్, కంపైలేషన్, పరీక్షలు, స్థిర తనిఖీలు లేదా కార్య-నిర్దిష్ట అవికారాలు.
  • నకలు చేయడాన్ని నియంత్రణగా పొరబడకుండా ఉండేందుకు, సవరించగల ప్రాంతంలోని మార్పు రేటు.
  • స్థానికతను మోడ్ పతనంగా పొరబడకుండా ఉండేందుకు అభ్యర్థుల అనన్యతను, పునరావృత ప్రయోగాల మధ్య వైవిధ్యాన్ని కొలవాలి.

లింక్ చేసిన అధ్యయనం నివేదించేది

  • అనుసంధానించిన ప్రయోగం 64-టోకెన్ Python ఫంక్షన్‌లను శ్రేణీకృత వివిక్త స్థానాలకు సంపీడించి, పాక్షిక నిర్బంధాల కింద ఎంచుకున్న గుప్త స్థానాలను పునరుత్పాదిస్తుంది.
  • నాలుగు ఉన్నత-స్థాయి కోడ్‌లను స్థిరపరచడం పార్స్ రేటును 0.453 నుంచి 0.591కు పెంచింది; స్థిరపరచని స్థానాలు 0.936 రేటుతో మారగా, షరతుబద్ధ నమూనాలు 0.998 మేరకు అద్వితీయంగా కొనసాగాయి.
  • ఆ కొలతలు టోకెన్ స్థాయికి ఎగువన స్థిరత్వం–స్వేచ్ఛ సమన్వయాన్ని వెల్లడిస్తాయి; ఖచ్చితమైన మూల-విస్తృతి, AST, అర్థ లేదా ప్రవర్తనా పరిరక్షణను నిరూపించవు.

ప్రచురణ అవలోకనాన్ని చదవండి పరిశోధన పత్రం పూర్తి పాఠ్యంలో వెతకండి

పరిధి సరిహద్దు

  • లాక్ చేసిన గుప్త కోడ్ స్వయంచాలకంగా AST నోడ్, సంరక్షిత మూల విస్తృతి లేదా రూపబద్ధ నిశ్చలకం కాదు.
  • పార్స్ రేటు వాక్యనిర్మాణ సుస్వరూపతను నిర్ధారిస్తుంది; క్రియాత్మక సరిదిద్దుదల లేదా విజయవంతమైన మరమ్మతును కాదు.
  • నివేదించిన ఆధారాలు ముందస్తు ప్రాసెసింగ్ చేసిన చిన్న Python ఫంక్షన్‌ల నుంచి లభించాయి; అవి రిపాజిటరీ-స్థాయి ప్రవర్తనను నిర్ధారించవు.
స్థానికీకృత సవరణ నియంత్రణ అంతర్ముఖాలను పోల్చండి

ప్రాథమిక, సమీప సంబంధిత మూలాలు

అసలు పద్ధతులు, కొలతలు, పేర్కొన్న పరిమితుల కోసం లింక్ చేసిన పత్రాలను చూడండి.

  1. Inspectable Control for Structure-Preserving Software Regeneration

    ప్రధాన పరిశోధనా పత్రం మరియు పరిమిత శ్రేణీకృత-గుప్త ప్రయోగం.

  2. EfficientEdit: Accelerating Code Editing via Edit-Oriented Speculative Decoding

    మార్పులేని మూల ప్రాంతాలను తిరిగి ఉపయోగించే, సవరణ-కేంద్రీకృత డీకోడింగ్.

  3. PAFT: Preservation Aware Fine-Tuning for Minimal-Edit Program Repair

    ప్రోగ్రామ్-మరమ్మత్తు శిక్షణలో పరిరక్షణను, కనిష్ఠ మార్పును స్పష్టంగా నిర్దేశిస్తుంది.