Akademik tadqiqotlar, tushunarli til

Verianla | O‘zbekcha akademik tadqiqotlar va ilm-fan

27 Sentabr 2026, Yakshanba
VERİANLAMustaqil ilmiy nashriyot
Menyuni ochish yoki yopish
...
Bosh sahifa / Amaliy fanlar / Kompyuter fanlari / Kodni buzmasdan belgilash: LLM tomonidan yaratilgan kodni aniqlash uchun kod filigranlash
Kompyuter fanlari

Kodni buzmasdan belgilash: LLM tomonidan yaratilgan kodni aniqlash uchun kod filigranlash

Tadqiqotchilar katta til modellari tomonidan yaratilgan dastur kodiga keyinchalik aniqlanishi mumkin bo‘lgan filigran joylashtirishda kodning sintaksisi yoki ishlash mantiqini buzish xavfini kamaytirishga qaratilgan STONE nomli usulni ishlab chiqdilar.

12/08/2026  Veri Anla 65 marta ko‘rildi
Kodni buzmasdan belgilash: LLM tomonidan yaratilgan kodni aniqlash uchun kod filigranlash

Tadqiqotchilar katta til modellari tomonidan yaratilgan dastur kodiga keyinchalik aniqlanishi mumkin bo‘lgan filigran joylashtirishda kodning sintaksisi yoki ishlash mantiqini buzish xavfini kamaytirishga qaratilgan STONE nomli usulni ishlab chiqdilar. STONE ning asosiy yondashuvi filigranni barcha tokenlarga yoki faqat yuqori entropiyali tokenlarga qo‘llash o‘rniga, dastur ishlashi uchun kritik deb hisoblangan sintaktik tokenlarni himoya qilishdir.

Tadqiqotning boshlang‘ich nuqtasi e’tiborga molik kuzatuvdir: “yuqori entropiyali tokenlarni o‘zgartirish xavfsizroq” degan faraz dastur kodida har doim ham to‘g‘ri emas. Python ustida o‘tkazilgan dastlabki tahlilda keywords, ya’ni kalit so‘zlar, eng yuqori o‘rtacha token entropiyasiga ega kategoriya ekanligi aniqlangan. MBPP+ da kalit so‘zlarning o‘rtacha entropiyasi 2,81 bo‘lgan bo‘lsa, filigranlash uchun nishonga olingan “etc” kategoriyasida bu ko‘rsatkich 1,98 dir. HumanEval+ da ham kalit so‘zlar 1,58 bilan eng yuqori kategoriya bo‘lib, “etc” kategoriyasi 1,11 ni tashkil etadi.

Bu natija muhim, chunki def, return, True, False, if yoki for kabi yuqori entropiyali tokenlarni o‘zgartirish nafaqat matn uslubini, balki dastur sintaksisi yoki mantiqini ham o‘zgartirishi mumkin. Avvalgi SWEET usuli yuqori entropiyali tokenlarni nishonga olgani sababli tadqiqotchilar tanlangan tokenlarning bir qismi sintaktik elementlar ekanini ko‘rsatgan. HumanEval+ uchun SWEET ning optimal sozlamasida tanlangan tokenlarning taxminan %12,6 qismi sintaksis bilan bog‘liq tokenlardir.

STONE buning o‘rniga keywords, whitespace, types, delimiters va operators dan iborat beshta sintaksis sinfini filigran nishonidan tashqarida qoldirishni maqsad qiladi. Filigran signali ushbu sinflarga kirmaydigan token hududida yaratiladi. Generatsiya vaqtida token nomzodlari yashil va qizil ro‘yxatlarga ajratiladi; yashil ro‘yxatdagi tokenlarning logit qiymatlari oshirilib, yaratilgan kodda statistik jihatdan aniqlanishi mumkin bo‘lgan naqsh qoldiriladi. Aniqlash bosqichida ham faqat sintaktik bo‘lmagan tokenlar orqali yashil token ulushi va z-skori hisoblanadi.

Tadqiqotning asosiy Qwen2.5-Coder-7B tajribalarida STONE to‘rtta baholash to‘plamining barchasida eng yuqori STEM birlashtirilgan skorini berdi. Teng og‘irlikli STEM qiymatlari MBPP+ uchun 0,848, HumanEval+ uchun 0,781, HumanEvalPack-C++ uchun 0,780 va HumanEvalPack-Java uchun 0,715 deb hisobot qilingan.

Funksional aniqlik jihatidan STONE ning correctness qiymatlari ayni tartibda 0,571, 0,587, 0,622 va 0,445 dir. Tadqiqotchilar bu qiymatlar SWEET ga nisbatan to‘rtta benchmark bo‘yicha o‘rtacha %7,57 yuqori aniqlik berganini hisoblagan. MBPP+ uchun filigransiz kodning pass@1 qiymati 0,571 bo‘lgan, STONE ning qiymati ham 0,571 dir. HumanEval+ da filigransiz natija 0,595, STONE esa 0,587 dir.

Aniqlash muvaffaqiyatida ham STONE to‘rtta asosiy ma’lumotlar to‘plamida mos ravishda 0,982, 0,777, 0,729 va 0,721 AUROC ga erishgan. Bunga qarshi, usul ko‘rinmaslik mezonida har bir benchmark da eng yuqori natijaga ega emas. Masalan, MBPP+ da KGW va EWD uchun imperceptibility 0,994 bo‘lgan, STONE esa 0,990 dir. Demak, tadqiqotning kuchli xulosasi “STONE har bir mezonda eng yaxshisi” emas, balki uchta maqsad o‘rtasida muvozanatliroq umumiy natija berishidir.

STONE ning yana bir afzalligi aniqlash vaqtidir. Filigran qo‘shish vaqtlari taqqoslangan usullar bilan o‘xshash darajada bo‘lgan bo‘lsa-da, tadqiqotchilar STONE ning ma’lumotlar to‘plami darajasidagi filigran aniqlashi SWEET va EWD ga nisbatan o‘rtacha taxminan %86 tezroq ekanini bildirishgan. Buning asosiy sababi STONE aniqlashi token entropiyasini qayta hisoblash o‘rniga oldindan belgilangan yashil ro‘yxat mexanizmidan foydalanishidir.

Usul hujumlarga to‘liq chidamli emas. HumanEval+ da STONE ning aniqlash qiymati hujum bo‘lmaganda 0,777, kod qayta tuzilganda 0,664 va kod paraphrase qilinganda 0,600 gacha tushgan. MBPP+ da tegishli qiymatlar 0,982, 0,907 va 0,824 dir. Shunga qaramay, ayni tajribalarda STONE SWEET dan yuqoriroq aniqlash ko‘rsatkichini namoyon qilgan.

Turkiya nuqtayi nazaridan baholash: Ushbu tadqiqot Turkiyadagi muayyan dasturiy ta’minot ishlab chiqish muhiti, universitet topshiriq tizimi yoki tijoriy kod generatsiyasi xizmatida sinovdan o‘tkazilmagan. Shunga qaramay, sun’iy intellekt tomonidan yaratilgan kod manbasini kuzatish, dasturiy ta’minot ta’minot zanjiri, ta’limda kod generatsiyasi, korporativ kod siyosatlari va model provayderlari yaratgan kontentni belgilash nuqtayi nazaridan Turkiyadagi tadqiqot va dasturiy ta’minot jamoalari uchun o‘rganilishi mumkin. Biroq STONE “AI kod detektori” sifatida istalgan kod parchasini retrospektiv va aniq tarzda tasniflamaydi; filigran kod yaratilayotganda tegishli usul bilan ataylab joylashtirilgan bo‘lishi kerak. Shu sababli usuldan foydalanish “bu kodni albatta sun’iy intellekt yozgan” degan universal kriminalistik dalil sifatida talqin qilinmasligi kerak.

Kod filigranlash muammosi nega tabiiy tildan farq qiladi?

Tabiiy til filigranlashda kichik so‘z tanlovlari ko‘pincha matnning asosiy ma’nosi yoki yaroqliligini buzmaydi. Kod generatsiyasida esa bitta belgi yoki token dasturning kompilyatsiya qilinishi yoki ishlashini butunlay o‘zgartirishi mumkin.

Masalan:

  • ikki nuqta belgisining olib tashlanishi Python sintaksis xatosini keltirib chiqarishi mumkin,
  • + o‘rniga - ishlatilishi dastur hisobini o‘zgartirishi mumkin,
  • True o‘rniga False ishlatilishi boshqaruv oqimini teskarisiga aylantirishi mumkin,
  • qavs yoki kvadrat qavsning o‘zgartirilishi parsing xatosiga sabab bo‘lishi mumkin.

Tadqiqotning 1-sahifasidagi 1-rasm bu muammoni oddiy is_even funksiyasi orqali vizuallashtiradi: tadqiqotchilar oldingi filigranlash yondashuvining sintaksis tokenlarini o‘zgartira olishini “syntax error” xavfi bilan taqqoslar ekan, STONE sintaktik tokenlarni himoya qilishga qaratilganini ko‘rsatadi.

Nega yuqori entropiya xavfsiz token degani emas?

Avvalgi SWEET yondashuvi til modeli qaysi tokenni tanlashiga kamroq ishonch hosil qiladigan, ya’ni entropiya yuqori bo‘lgan nuqtalarda filigran joylashtirish chiqish sifatini kamroq buzadi degan g‘oyaga asoslanadi.

Token entropiyasi manbada Shannon entropiyasi bilan:

\[ H_t = -\sum_{i=1}^{|V|} P(y_t=v_i\mid y_{

tarzida ta’riflanadi.

Bu yerda \(V\) model lug‘atini, \(y_{

Tadqiqotchilarning Qwen2.5-Coder-7B bilan o‘tkazgan dastlabki tahlili Python da sintaksis jihatidan kritik bo‘lgan ayrim kategoriyalar bir vaqtning o‘zida yuqori entropiyali ham bo‘lishi mumkinligini ko‘rsatdi.

Token kategoriyasiMBPP+ o‘rtacha entropiyaHumanEval+ o‘rtacha entropiya
Keywords2,811,58
Etc1,981,11
Types1,831,09
Delimiters1,060,78
Whitespace0,930,46
Operators0,930,63

Shu sababli faqat “yuqori entropiyali token” mezoni ishlatilsa, dastur tuzilishi uchun kritik token ham filigran nishoniga aylanishi mumkin.

STONE qaysi tokenlarni sintaktik deb hisoblaydi?

STONE uchta dasturlash tili uchun beshta asosiy sintaksis sinfini belgilaydi:

  • Keywords: tilning rezervlangan kalit so‘zlari,
  • Whitespace: bo‘shliq, qator oxiri va tab,
  • Types: asosiy tur belgilagichlari,
  • Delimiters: qavs, ajratgich, tinish belgisi va shunga o‘xshash tuzilmaviy belgilar,
  • Operators: arifmetik, mantiqiy, taqqoslash va tayinlash operatorlari.

Ushbu besh guruhga kirmaydigan tokenlar tadqiqotda “etc” kategoriyasida baholanadi va STONE ning asosiy filigran nishon hududini tashkil etadi.

STONE filigranni qanday qo‘shadi?

Generatsiyaning \(t\) bosqichida til modeli avval standart logit vektorini hisoblaydi:

\[ l_t=f_{LM}(x,y_{

va ushbu qiymatlardan boshlang‘ich ehtimollik taqsimoti olinadi:

\[ p_{t,i} = \frac{e^{l_t[i]}} {\sum_{j=1}^{|V|}e^{l_t[j]}} \]

STONE avval ushbu taqsimotdan nomzod token namuna oladi. Nomzod sintaksis to‘plamiga kirmasa, oldingi tokenning hash qiymati seed sifatida ishlatiladi va lug‘at yashil \(G_t\) hamda qizil \(R_t\) ro‘yxatlarga bo‘linadi.

Yashil ro‘yxatdagi tokenlarning logitlariga doimiy \(\delta\) qo‘shiladi:

\[ l_t[i]\leftarrow l_t[i]+\delta, \qquad i\in G_t \]

Bu o‘zgarish yashil tokenlarning hosil bo‘lish ehtimolini oshiradi. Keyin tuzatilgan taqsimotdan yakuniy token namuna olinadi.

Verianla Live: STONE filigran joylashtirish zanjiri

Ushbu jarayon tadqiqotning 1-algoritm va 2-algoritmda ta’riflagan generatsiya va aniqlash mantiqining soddalashtirilgan ilmiy xulosasidir.

BosqichJarayonMaqsad
1. Standart generatsiyaTil modeli joriy kontekstga ko‘ra token logitlari va ehtimollarini hisoblaydi.Normal kod generatsiyasi taqsimotini olish.
2. Sintaksis tekshiruviNamuna olingan nomzod token syntax element set ga nisbatan tekshiriladi.Sintaksis kritik hududlarda filigran aralashuvining oldini olish.
3. Yashil/qizil ro‘yxatOldingi tokenning hash qiymati orqali lug‘at yashil va qizil ro‘yxatlarga ajratiladi.Takror ishlab chiqariladigan yashirin filigran naqshini yaratish.
4. Logit siljitishYashil ro‘yxatdagi tokenlarning logitlariga δ qo‘shiladi.Yashil tokenlar generatsiyasi ehtimolini oshirish.
5. Kod generatsiyasiTuzatilgan taqsimotdan yakuniy token namuna olinadi.Filigran signalini kod generatsiyasiga olib kirish.
6. Filigranni aniqlashSintaktik bo‘lmagan tokenlar orasidagi yashil tokenlar soni va z-skori hisoblanadi.Kodda STONE filigrani uchun statistik dalil izlash.
 

Verianla Live: Vizualizatsiya yuqoridagi ko‘rinadigan ilmiy jarayon jadvalidan yaratiladi. Jadval ilmiy source-of-truth sifatida saqlanadi.

Aniqlash z-skori qanday hisoblanadi?

STONE aniqlash vaqtida faqat “etc” deb hisoblangan sintaktik bo‘lmagan tokenlarni sanaydi. Ularning umumiy soni \(N^E\), yashil ro‘yxatda bo‘lganlar soni esa \(N_G^E\) deb belgilanadi.

Z-skori:

\[ z= \frac{ N_G^E-\gamma N^E }{ \sqrt{\gamma(1-\gamma)N^E} } \]

ko‘rinishidadir.

Hisoblangan qiymat oldindan belgilangan \(z_{threshold}\) chegarasidan yuqoriga chiqsa, ketma-ketlik filigranlangan deb tasniflanadi.

Ushbu mexanizm faqat filigran yaratishda ishlatilgan ro‘yxatlash qoidasi ma’lum yoki qayta ishlab chiqarilishi mumkin bo‘lgan kodlarda ishlaydi. U umumiy maqsadli “LLM kodini tanish” usuli emas.

STEM nega ishlab chiqildi?

Tadqiqotchilar mavjud kod filigranlash tadqiqotlari turli mezonlarga e’tibor qaratishi va bu usullar o‘rtasida muvozanatli taqqoslashni qiyinlashtirishini ta’kidlaydi. Bir tizim filigranni juda oson aniqlatishi mumkin, biroq ko‘p xato dasturlar yaratishi mumkin; boshqa tizim esa kodni saqlashi, lekin filigran signali juda zaif bo‘lishi mumkin.

STONE bilan birga taklif etilgan STEM metrikasi uchta o‘lchamni yagona vaznli skor ostida birlashtiradi:

\[ STEM= \alpha\cdot Correctness+ \beta\cdot Detectability+ \zeta\cdot Imperceptibility \]

va:

\[ \alpha+\beta+\zeta=1 \]

sharti qo‘llanadi.

Correctness qanday o‘lchanadi?

Funksional aniqlik uchun kod generatsiyasi tadqiqotlarida qo‘llanadigan pass@k mezoni ishlatiladi. Ushbu mezon yaratilgan \(k\) yechimdan kamida bittasining barcha testlardan o‘tish ehtimolini baholaydi.

Asosiy tajribalarda hisobot qilingan correctness ustunlari pass@1 asosidagi baholashni ifodalaydi.

Detectability qanday o‘lchanadi?

Yashil token ulushidan olingan z-skorning turli chegaralarda inson yozgan va filigranlangan kodlarni qanchalik ajrata olishi ROC egri chizig‘i orqali baholangan; natija AUROC bilan hisobot qilingan.

AUROC oshgan sari ikki kod guruhini filigran statistikasi orqali ajratish osonlashadi.

Imperceptibility nimani o‘lchaydi?

Tadqiqotchilar filigran kodning tabiiy token ehtimollik taqsimotini qay darajada o‘zgartirishini perplexity orqali baholaydi.

Imperceptibility:

\[ 1- \frac{ |PPL(C_{wm})-PPL(C)| }{ PPL(C) } \]

tarzida ta’riflangan.

Bu yerda \(C_{wm}\) filigranlangan kod, \(C\) esa filigransiz kod to‘plamidir. Skor 1 ga yaqinlashgan sari filigran token taqsimotida kichikroq nisbiy o‘zgarish qilgan deb qabul qilinadi. Juda katta taqsimot o‘zgarishlarida metrika manfiy qiymat olishi ham mumkin; tadqiqotning CodeIP takror tajribasida bunga misollar mavjud.

Qaysi ma’lumotlar to‘plamlaridan foydalanildi?

Ma’lumotlar to‘plamiTilMuammolar soniO‘rtacha yechim uzunligi (token)
MBPP+Python39940,25
HumanEval+Python164188,28
HumanEvalPack-C++C++164223,10
HumanEvalPack-JavaJava164237,36

Qaysi usullar bilan taqqoslandi?

Asosiy taqqoslashda uchta training-free usul ishlatildi:

  • KGW: har bir generatsiya bosqichida lug‘atni yashil va qizil ro‘yxatlarga bo‘lib, yashil tokenlarni afzal ko‘radigan asosiy yondashuv,
  • EWD: aniqlashda token entropiyasini vaznlovchi usul,
  • SWEET: filigranni faqat yuqori entropiyali tokenlarga joylashtirishga qaratilgan kod filigranlash usuli.

CodeIP asosiy baseline guruhiga kiritilmagan, chunki u qo‘shimcha type-prediction modelini o‘qitishni talab qiladi, STONE va asosiy taqqoslashlar esa training-free dir. Tadqiqotchilar CodeIP ni alohida A-ilovada qayta amalga oshirib, natijalarini hisobot qilgan.

Asosiy model va generatsiya sozlamalari qanday?

Asosiy tajribalarda Qwen2.5-Coder-7B ishlatilgan. B-ilovada Llama-3.1-8B bilan ham tajriba o‘tkazilgan.

Asosiy generatsiya sozlamalari:

  • top-k = 50,
  • temperature = 1,0,
  • \(\gamma=0,5\),
  • MBPP+ uchun \(\delta=1,0\),
  • HumanEval+, C++ va Java uchun \(\delta=0,5\).

Imperceptibility baholashida perplexity hisoblash uchun StarCoder2-7B ishlatilgan. Tajribalar NVIDIA A6000 GPU da o‘tkazilgani ko‘rsatiladi.

STONE ning asosiy natijalari qanday?

Verianla Live: Teng og‘irlikli STEM skorlari

Bu yerda STEM correctness, detectability va imperceptibility komponentlarining har biriga 1/3 og‘irlik berilib hisoblangan. Yuqori qiymat muvozanatliroq umumiy ko‘rsatkichni ifodalaydi.

Ma’lumotlar to‘plamiKGWEWDSWEETSTONE
MBPP+0,7750,8190,7870,848
HumanEval+0,6940,7630,7540,781
HumanEvalPack-C++0,7300,7500,7350,780
HumanEvalPack-Java0,6420,6750,6310,715
 

Asosiy natija: Qwen2.5-Coder-7B asosiy tajribalarida STONE to‘rtta benchmark ning barchasida eng yuqori teng og‘irlikli STEM skorini bergan.

Verianla Live: Vizualizatsiya yuqoridagi ko‘rinadigan ilmiy ma’lumotlar jadvalidan yaratiladi. Jadval ilmiy source-of-truth sifatida saqlanadi.

Aniqlik natijalari alohida qanday?

UsulMBPP+HumanEval+C++Java
KGW0,4990,5730,5760,387
EWD0,4990,5730,5760,387
SWEET0,5020,5740,5840,413
STONE0,5710,5870,6220,445

STONE to‘rtta asosiy benchmark ning barchasida eng yuqori correctness qiymatiga erishgan. Tadqiqotchilar SWEET ga nisbatan o‘rtacha nisbiy farqni %7,57 deb hisobot qiladi.

Filigransiz kod bilan taqqoslanganda nima bo‘ladi?

F-ilovada filigransiz kod tajribalari ham berilgan:

UsulMBPP+ pass@1HumanEval+ pass@1
Filigran yo‘q0,5710,595
STONE0,5710,587
SWEET0,5020,574
KGW0,4990,573
EWD0,4990,573

MBPP+ da STONE filigranlangan va filigransiz generatsiyaning pass@1 qiymati bir xil. HumanEval+ da esa 0,595 dan 0,587 ga kichik pasayish ko‘riladi. Shu sababli “STONE hech qanday holatda aniqlikni pasaytirmaydi” deyish manba natijalaridan ortiqcha xulosa bo‘ladi; aniqroq ifoda, o‘rganilgan testlarda aniqlik yo‘qotilishi boshqa filigran usullariga qaraganda kichikroq bo‘lganidir.

Aniqlash muvaffaqiyati qanday?

UsulMBPP+ AUROCHumanEval+ AUROCC++ AUROCJava AUROC
KGW0,8310,5230,6210,546
EWD0,9650,7300,6810,646
SWEET0,8670,7100,6410,580
STONE0,9820,7770,7290,721

Asosiy Qwen2.5-Coder-7B tajribasida STONE to‘rtta ma’lumotlar to‘plamining barchasida eng yuqori detectability qiymatini bergan.

Ko‘rinmaslikda ham eng yaxshimi?

Yo‘q. Imperceptibility natijalari:

UsulMBPP+HumanEval+C++Java
KGW0,9940,9860,9930,993
EWD0,9940,9860,9930,993
SWEET0,9920,9780,9790,901
STONE0,9900,9780,9900,979

KGW va EWD bu mezonda biroz yuqoriroq qiymatlarga ega. STONE ning da’vo qilinayotgan afzalligi ko‘rinmaslikda mutlaq birinchilik emas; ko‘rinmaslikni yuqori darajada ushlab turib, correctness va detectability ni birgalikda kuchaytirishidir.

66 xil STEM og‘irligida natija o‘zgaradimi?

Tadqiqotchilar \(\alpha\), \(\beta\) va \(\zeta\) qiymatlarini 0,0–1,0 oralig‘ida 0,1 qadam bilan o‘zgartirib, yig‘indisi 1 bo‘lgan 66 xil og‘irlik kombinatsiyasini baholagan.

STONE eng yuqori STEM skorini olgan kombinatsiyalar ulushi:

  • MBPP+: %97,0,
  • HumanEval+: %90,9,
  • HumanEvalPack-C++: %98,5,
  • HumanEvalPack-Java: %95,5.

Ushbu tahlil asosiy natijalar faqat teng og‘irlik tanlovining mahsuli emasligini ko‘rsatadi. Biroq bu istalgan foydalanuvchi tanlashi mumkin bo‘lgan barcha uzluksiz og‘irlik kombinatsiyalari sinovdan o‘tkazilgan degani emas; tadqiqot 0,1 oraliqli ko‘rsatilgan 66 kombinatsiyani baholagan.

STONE qanchalik tez?

Ma’lumotlar to‘plami darajasidagi umumiy aniqlash vaqtlari:

UsulMBPP+ (s)HumanEval+ (s)C++ (s)Java (s)
KGW12,904,198,018,95
EWD100,4334,5156,8559,84
SWEET100,9434,6858,0859,22
STONE13,274,628,489,24

STONE ning aniqlash vaqti KGW ga juda yaqin, EWD va SWEET dan esa sezilarli darajada past. Tadqiqotchilar buning sababini EWD va SWEET aniqlash paytida token ehtimollik taqsimoti/entropiya hisobini amalga oshirishi, STONE esa yashil ro‘yxat tekshiruvi bilan ishlashi deb ko‘rsatadi.

Filigran qo‘shish vaqtlari esa barcha usullarda bir xil tartibda; STONE ning katta tezlik afzalligi ayniqsa aniqlash bosqichidadir.

Refactoring hujumiga qanchalik chidamli?

HumanEval+ da:

SharoitSWEETSTONE
Hujum yo‘q0,7100,777
Kod refactoring0,5390,664
Kod paraphrasing0,5630,600

MBPP+ da:

SharoitSWEETSTONE
Hujum yo‘q0,6790,982
Kod refactoring0,3590,907
Kod paraphrasing0,3850,824

STONE har ikkala hujum turida ham taqqoslangan SWEET dan yuqori aniqlash ko‘rsatkichini ko‘rsatgan. Ammo qiymatlarning hujum bo‘lmagan holatga nisbatan pasayishi filigran o‘zgarishlardan ta’sirlanishi mumkinligini aniq ko‘rsatadi.

Nega paraphrasing STONE ga ta’sir qiladi?

Tadqiqotchilar refactoring jarayoni ko‘p sintaksis chegaralarini saqlab qolishini va shu sababli non-syntax token hududidagi filigranning muhim qismi qolishi mumkinligini ta’kidlaydi.

Paraphrasing esa o‘zgaruvchi nomlari va ifodalar kabi sintaksisdan tashqari hududlarni o‘zgartirishi mumkin. Ular STONE ning filigran nishonlari bilan to‘g‘ridan-to‘g‘ri ustma-ust tushgani uchun aniqlash signali kamayishi mumkin.

STONE algoritmni biladigan hujumchiga qarshi sinovdan o‘tkazildimi?

Yo‘q. Bu tadqiqotning o‘z cheklovlar bo‘limida ochiq aytilgan.

STONE algoritmini biladigan hujumchi, ayniqsa sintaktik bo‘lmagan tokenlarni nishonga olib:

  • barcha o‘zgaruvchilarni tizimli ravishda qayta nomlashi,
  • izohlarni olib tashlashi,
  • STONE filigran zichligini kamaytiradigan nishonli transformatsiyalarni qo‘llashi mumkin.

Tadqiqotchilar bunday algorithm-aware hujumlarga qarshi yangi himoyalarni kelajakdagi tadqiqot yo‘nalishi sifatida belgilaydi.

Code golf va obfuscated kod nega muammo bo‘lishi mumkin?

STONE tashiy oladigan filigran miqdori sintaksisdan tashqari tokenlar zichligiga bog‘liq. Oddiy benchmark kodlarida yetarli miqdorda nishon token mavjud.

Biroq juda qisqa, siqilgan “code golf” yechimlarida yoki ataylab obfuscate qilingan kodlarda bu tokenlar soni kamayishi mumkin. Bunday hollarda filigran juda siyraklashib, ishonchli aniqlash uchun yetarli bo‘lmasligi mumkin.

Llama-3.1-8B natijalari ham ayni tendensiyani ko‘rsatadimi?

Qo‘shimcha tajribalarda MBPP+ va HumanEval+ da Llama-3.1-8B ishlatilgan. STONE yana teng og‘irlikli STEM da eng yuqori skorlarni bergan:

  • MBPP+: STONE 0,782,
  • HumanEval+: STONE 0,699.

Biroq HumanEval+ detectability qiymatida EWD 0,755 bilan STONE ning 0,741 qiymatidan biroz yuqori. Shunga qaramay, STONE yuqoriroq correctness hisobiga birlashtirilgan STEM skorida oldinda qolgan.

Bu natija ham usulning da’vosi “har bir modelda har bir submetrikada yutish” emas, balki umumiy muvozanatni saqlash ekanini qo‘llab-quvvatlaydi.

Tadqiqot qo‘llab-quvvatlaydigan xulosalar

  • Yuqori token entropiyasi dastur kodida sintaksis jihatidan xavfsiz o‘zgarish degani emas.
  • Python dastlabki tahlilida keywords kategoriyasi o‘rganilgan ikki benchmark da eng yuqori o‘rtacha entropiyaga ega.
  • SWEET optimal HumanEval+ sozlamasida tanlangan tokenlarning taxminan %12,6 qismi syntax tokenlardir.
  • STONE sintaktik tokenlarni filigran nishonidan ajratadigan generatsiya va aniqlash yondashuvini taklif qiladi.
  • Qwen2.5-Coder-7B asosiy tajribasida STONE to‘rtta benchmark da eng yuqori correctness, detectability va teng og‘irlikli STEM qiymatini bergan.
  • STONE ning imperceptibility qiymati yuqori qolgan, biroq bu submetrikaning mutlaq eng yaxshi qiymati har doim STONE ga tegishli bo‘lmagan.
  • STONE SWEET ga nisbatan o‘rtacha %7,57 yuqori correctness natijasini bergan.
  • STONE aniqlashi EWD va SWEET ning entropy asosidagi aniqlashiga nisbatan o‘rtacha taxminan %86 tezroq deb hisobot qilingan.
  • 66 STEM vaznlash kombinatsiyasining katta ko‘pchiligida STONE birinchi o‘rinda qolgan.
  • Refactoring va paraphrasing hujumlaridan keyin detectability pasaysa ham, o‘rganilgan tajribalarda STONE SWEET dan chidamliroq bo‘lib qolgan.

Tadqiqot qo‘llab-quvvatlamaydigan yoki hali ko‘rsatmagan xulosalar

  • STONE filigransiz istalgan noma’lum kodning LLM tomonidan yozilganini aniqlaydigan umumiy maqsadli detektor emas.
  • Filigranning barcha kod transformatsiyalariga qarshi o‘chirib bo‘lmaydigan ekani ko‘rsatilmagan.
  • STONE algoritmini biladigan nishonli hujumchilarga qarshi chidamlilik tajribaviy ravishda ko‘rsatilmagan.
  • Obfuscated yoki code-golf kodlarda ishonchli aniqlash kafolatlanmaydi.
  • Har bir dasturlash tili baholanmagan; asosiy tajribalar Python, C++ va Java bilan cheklangan.
  • Haqiqiy korporativ dasturiy ta’minot repozitoriylari yoki millionlab qator ishlab chiqarish kodi ustida maydon baholashi o‘tkazilmagan.
  • STONE barcha submetrikalarda har doim eng yuqori natijani bermaydi.
  • Filigranlangan kod aniqlanishining o‘zi muallif shaxsi, yomon niyat, akademik qoidabuzarlik yoki huquqiy javobgarlik dalili emas.

Tadqiqot Usuli va Natijalari

Tadqiqot savollari

Tadqiqot uchta asosiy savolga qaratiladi:

  1. STONE funksional aniqlikni saqlab qola oladimi?
  2. Correctness, detectability va imperceptibility o‘rtasida STEM bilan o‘lchanadigan muvozanatli natija ta’minlay oladimi?
  3. Filigran joylashtirish va aniqlash nuqtayi nazaridan hisoblash xarajati qanday?

Asosiy Qwen2.5-Coder-7B natijalarining to‘liq ko‘rinishi

DatasetUsulCorrectnessDetectabilityImperceptibilitySTEM
MBPP+KGW0,4990,8310,9940,775
MBPP+EWD0,4990,9650,9940,819
MBPP+SWEET0,5020,8670,9920,787
MBPP+STONE0,5710,9820,9900,848
HumanEval+KGW0,5730,5230,9860,694
HumanEval+EWD0,5730,7300,9860,763
HumanEval+SWEET0,5740,7100,9780,754
HumanEval+STONE0,5870,7770,9780,781
HEP-C++KGW0,5760,6210,9930,730
HEP-C++EWD0,5760,6810,9930,750
HEP-C++SWEET0,5840,6410,9790,735
HEP-C++STONE0,6220,7290,9900,780
HEP-JavaKGW0,3870,5460,9930,642
HEP-JavaEWD0,3870,6460,9930,675
HEP-JavaSWEET0,4130,5800,9010,631
HEP-JavaSTONE0,4450,7210,9790,715

Hisoblash vaqti

DatasetUsulInsertion (s)Detection (s)
MBPP+KGW332012,90
MBPP+EWD3320100,43
MBPP+SWEET3300100,94
MBPP+STONE326613,27
HumanEval+KGW12684,19
HumanEval+EWD126834,51
HumanEval+SWEET127034,68
HumanEval+STONE12774,62
HEP-C++KGW13088,01
HEP-C++EWD130856,85
HEP-C++SWEET145458,08
HEP-C++STONE13008,48
HEP-JavaKGW15068,95
HEP-JavaEWD150659,84
HEP-JavaSWEET148059,22
HEP-JavaSTONE14599,24

SWEET ning syntax-token qamrovi

E-ilovada entropy threshold o‘zgarganda SWEET nechta token tanlashi va tanlanganlarning qanchasi syntax tokeni ekani o‘rganilgan.

HumanEval+ uchun optimal entropy threshold 0,9 bo‘lganida:

  • yaratilgan barcha tokenlarning %28,98 qismi tanlangan,
  • tanlanganlarning %12,60 qismi syntax tokenidir.

Ushbu syntax tokenlar ichida manbada berilgan taqsimot:

  • delimiters: %49,29,
  • whitespace: %38,17,
  • keywords: %9,44,
  • types: %3,17,
  • operators: %2,78.

Ushbu foizlar subkategoriya hisoboti manbada berilgan shaklda ko‘chirilgan; yaxlitlash va kategoriya hisobot usuli sababli jami aniq %100 ga teng bo‘lishi kutilmasligi kerak.

CodeIP qo‘shimcha taqqoslashining natijasi

Tadqiqotchilar training talab qilgani sababli CodeIP ni asosiy baseline guruhiga kiritmagan, biroq A-ilovada uning rasmiy implementatsiyasini qayta ishga tushirgan.

CodeIP detectability qiymatlari 0,945–0,994 oralig‘ida yuqori bo‘lib qolgan, correctness natijalari esa MBPP+ uchun 0,093, HumanEval+ uchun 0,018, C++ uchun 0,000 va Java uchun 0,073 deb topilgan.

Ushbu tajriba faqat yuqori aniqlash muvaffaqiyati muvozanatli kod filigranlash usuli uchun yetarli emasligini ko‘rsatish maqsadida ishlatilgan. Biroq bu natijalar mualliflarning o‘z qayta ishlab chiqarish sozlamalariga tegishli bo‘lib, CodeIP ning barcha ehtimoliy sozlamalari yoki keyingi versiyalari haqida umumiy hukm sifatida talqin qilinmasligi kerak.

Usulning asosiy cheklovlari

  • Filigran sig‘imi sintaksisdan tashqari tokenlar zichligiga bog‘liq.
  • Code-golf yoki obfuscated kodda yetarli filigran signali shakllanmasligi mumkin.
  • Algoritmni biladigan hujumchining nishonli token qayta nomlashiga qarshi keng qamrovli himoya ko‘rsatilmagan.
  • Robustlik tajribalari ikkita umumiy hujum turi bilan cheklangan.
  • Asosiy baholash uch dasturlash tili va to‘rtta benchmark bilan cheklangan.
  • Asosiy model Qwen2.5-Coder-7B; ikkinchi model tahlili faqat qo‘shimcha bo‘limda ikkita Python benchmark ida o‘tkazilgan.
  • Haqiqiy katta hajmdagi dasturiy ta’minot loyihalarida inson dasturchi tahrirlari bilan uzoq muddatli filigran saqlanishi sinovdan o‘tkazilmagan.

Algoritm tushuntirishida e’tibor berilishi kerak bo‘lgan tafsilot

Tadqiqot bayoni STONE ni “faqat non-syntax tokenlarga filigran joylashtiradigan” usul sifatida ta’riflaydi. 1-algoritmning bosma psevdokodida esa filigranlash jarayonining faollashtirilishi yoki faollashtirilmasligi avval namuna olingan candidate token ning syntax to‘plamida bo‘lish-bo‘lmasligiga ko‘ra belgilanadi, keyin esa yakuniy token tuzatilgan taqsimotdan qayta namuna olinadi.

Psevdokod ushbu ikkinchi namunalashda yakuniy tokenning syntax to‘plamidan tanlanishini alohida taqiqlaydigan mustaqil qatorni ko‘rsatmaydi. Manba buning implementatsiya kodida qanday hal qilinganini matn ichida alohida tushuntirmaydi. Shu sababli bu yerda mualliflar bergan “syntax-aware/non-syntax nishonlash” ta’rifi saqlangan; psevdokod tafsilotidan kelib chiqib boshqa algoritm faraz qilinmagan.

Manba va Usul Haqida Izoh

To‘liq original tadqiqot nomi: Marking Code Without Breaking It: Code Watermarking for Detecting LLM-Generated Code

Mualliflar va original tartib: Jungin Kim; Shinwoo Park; Yo-Sub Han.

Teng hissa: Jungin Kim va Shinwoo Park manbada teng hissa qo‘shgan mualliflar sifatida belgilangan.

Mas’ul muallif: Yo-Sub Han.

Muassasa: Yonsei University, Seoul, Republic of Korea.

Manba turi va taqriz: Taqrizdan o‘tgan konferensiya nashri; Findings of the Association for Computational Linguistics: EACL 2026.

Nashr: Findings of the Association for Computational Linguistics: EACL 2026.

Nashriyot: Association for Computational Linguistics.

Sahifalar: 3990–4002.

Konferensiya: 19th Conference of the European Chapter of the Association for Computational Linguistics (EACL 2026), Rabat, Morocco, 24–29 March 2026.

ACL Anthology identifikatori: 2026.findings-eacl.207

DOI: 10.18653/v1/2026.findings-eacl.207

Rasmiy nashr havolasi: https://aclanthology.org/2026.findings-eacl.207/

DOI havolasi: https://doi.org/10.18653/v1/2026.findings-eacl.207

Litsenziya: ACL Anthology ning 2016 va undan keyin nashr etilgan ACL materiallari uchun qo‘llaydigan Creative Commons Attribution 4.0 International (CC BY 4.0) litsenziyasi.

Moliyalashtirish: Tadqiqot NRF grant RS-2025-00562134 va Koreya hukumati tomonidan moliyalashtirilgan AI Graduate School Program RS-2020-II201361 ko‘magini bildiradi.

Implementatsiya kodi: Manba tadqiqot STONE implementatsiyasi https://github.com/inistory/STONE-watermarking manzilida mavjudligini ko‘rsatadi.

Asosiy model: Qwen2.5-Coder-7B.

Qo‘shimcha model: Llama-3.1-8B.

Perplexity baholash modeli: StarCoder2-7B.

Dasturlash tillari: Python, C++ va Java.

Benchmark lar: MBPP+, HumanEval+, HumanEvalPack-C++ va HumanEvalPack-Java.

Asosiy taqqoslashlar: KGW, EWD va SWEET. CodeIP training talab qilgani uchun asosiy training-free baseline guruhiga kiritilmagan va A-ilovada alohida qayta baholangan.

Asosiy baholash mezonlari: Correctness uchun pass@k; detectability uchun z-score asosidagi AUROC; imperceptibility uchun perplexity o‘zgarishi; birlashtirilgan baholash uchun STEM.

Hisoblash infratuzilmasi: NVIDIA A6000 GPU.

Robustlik tahlili: HumanEval+ va MBPP+ da kod refactoring va GPT-4o bilan kod paraphrasing hujumlari qo‘llangan.

Asosiy metodologik chegara: STONE faqat filigran generatsiya vaqtida ataylab joylashtirilgan chiqishlarda ishlatilishi mumkin bo‘lgan provenance mexanizmidir. Filigransiz, boshqa provayder tomonidan yaratilgan yoki inson tomonidan yozilgan istalgan kodni faqat uslubiga qarab ishonchli tarzda “LLM generatsiyasi” deb belgilaydigan umumiy detektor emas.

Hujum chegarasi: Refactoring va paraphrasing dan keyin STONE ning detectability qiymati pasayadi. Algoritmni biladigan va ayniqsa non-syntax tokenlarni nishonga oladigan hujumchilarga qarshi keng qamrovli chidamlilik ko‘rsatilmagan.

Umumlashtirish chegarasi: Natijalar benchmark asosidagi kod generatsiyasi vazifalariga tayanadi. Katta real dunyo repozitoriylari, uzoq muddatli inson tahrirlari, turli dasturlash tillari va keng model oilalari uchun ayni ko‘rsatkichlar kafolatlanmaydi.

Taqqoslash chegarasi: STONE barcha alohida submetrikalarda mutlaq eng yaxshi emas. Ayniqsa imperceptibility jihatidan KGW va EWD ayrim asosiy tajribalarda yuqoriroq skor bergan. Tadqiqotning asosiy natijasi STONE correctness, detectability va imperceptibility birgalikda baholanganda yuqori va barqaror STEM natijalarini berishidir.

Manba ichidagi algoritm izohi: 1-algoritm psevdokodida filigranlashni faollashtirish candidate tokenning syntax to‘plamida bo‘lish-bo‘lmasligiga qarab belgilanadi, yakuniy token esa keyin tuzatilgan taqsimotdan qayta namuna olinadi. Matn usulni non-syntax-only watermarking sifatida ta’riflasa-da, psevdokod yakuniy token uchun ikkinchi syntax bloklash qadamini aniq ko‘rsatmaydi. Bu nuqta manbada alohida muvofiqlashtirilmaganligi sababli Verianla tushuntirishida taxminga asoslangan tuzatish kiritilmagan.

Ilmiy mazmun doirasi: Ushbu Verianla izohidagi algoritmlar, formulalar, benchmark qiymatlari, hujum natijalari, ishlash vaqtlari, STEM taqqoslashlari va cheklovlar manba tadqiqotga asoslangan. Tashqi manba faqat rasmiy bibliografik identifikatsiya, EACL/ACL nashr holati va litsenziya ma’lumotini tasdiqlash uchun ishlatilgan.


Ulashish:

Izohlar ko‘rib chiqilgandan keyin e’lon qilinadi.Izohingiz tasdiqlash jarayoniga yuboriladi va ma’qullangach ko‘rinadi.

Izoh qoldiring

E-pochta manzilingiz chop etilmaydi. Majburiy maydonlar * bilan belgilangan

Bu saytda cookie-fayllarga ruxsat berish foydalanish tajribangizni yaxshilaydi. Cookie-fayllar siyosati