205 уншилтууд

Судалгааны AI код мутацийг хөгжүүлэгчдэд хурдан буцаж тусалдаг

by mutation...6m2025/06/03
Read on Terminal Reader

Хэтэрхий урт; Унших

Энэ судалгаа нь GPT-4 болон бусад LLM-ийн Java-д янз бүрийн, хязгаарлагдмал код мутацийг үүсгэх боломжтой бөгөөд уламжлалт мутацины туршилтын хэрэгсэл нь 18% -ийг сайжруулдаг.
featured image - Судалгааны AI код мутацийг хөгжүүлэгчдэд хурдан буцаж тусалдаг
Mutation Technology Publications HackerNoon profile picture
0-item

Зохиогчийн эрх :

(1) Бо Ван, Пекин Jiaotong их сургууль, Пекин, Хятад ([email protected]);

(2) Mingda Chen, Пекин Jiaotong их сургууль, Пекин, Хятад ([email protected]);

(3) Youfang Lin, Пекин Jiaotong их сургууль, Пекин, Хятад ([email protected]);

(4) Майк Пападакис, Люксембургийн их сургууль, Люксембург ([email protected]);

(5) Jie M. Zhang, King's College Лондон, Лондон, Их Британи ([email protected]).

Authors:

(1) Бо Ван, Пекин Jiaotong их сургууль, Пекин, Хятад ([email protected]);

(2) Mingda Chen, Пекин Jiaotong их сургууль, Пекин, Хятад ([email protected]);

(3) Youfang Lin, Пекин Jiaotong их сургууль, Пекин, Хятад ([email protected]);

(4) Майк Пападакис, Люксембургийн их сургууль, Люксембург ([email protected]);

(5) Jie M. Zhang, King's College Лондон, Лондон, Их Британи ([email protected]).

Абстракт болон1 Үйлчилгээ

1 Үйлчилгээ

2 Background and Related Work

2 Баруун болон холбоотой ажил

3 Study Design

3.1 Үзүүлэлт & судалгааны асуултууд

3.2 Үзүүлэлт

3.3 LLMs дамжуулан Mutation Generation

3.4 Үнэлгээний метрик

3.5 Эксперимент тохируулга

4 Evaluation Results

4.1 RQ1: Хэрэглээний үнэ, хэрэглээний үр дүнтэй

4.2 RQ2: Ажлын харьцуулалт

4.3 RQ3: янз бүрийн Prompts нөлөө

4.4 RQ4: янз бүрийн LLMs нөлөө

4.5 RQ5: Некомпилируемый мутацины эх үүсвэр, алдааны төрөл

5 Discussion

5.1 сонгосон туршилтын тохируулгатай мэдрэгч

5.2 Эдүүлбэр

5.3 Үнэлгээний эрсдэл

6 Conclusion and References

6 Сэтгэгдэл & Сэтгэгдэл

Абстракт

Өндөр хэрэгцээтэй өгөгдлийн мутацийг үүсгэхийн тулд туршилтын зорилгоор ашиглах талаархи асуултууд нь мутацины туршилтын литературд гол асуултууд юм. Large Language Models (LLMs) нь кодтай холбоотой үйл явдлын хувьд маш их потенцийг харуулсан боловч мутацины туршилтын хэрэгцээ нь тэдний хэрэгцээг харуулсангүй байна. Энэ зорилгоор LLMs-ийн үр дүнтэй мутацийг үүсгэх талаархи үр дүнтэй үр дүнтэй үр дүнтэй үр дүнтэй үр дүнтэй үр дүнтэй судлахын тулд LLMs-ийн үр дүнтэй үр дүнтэй үр дүнтэй үр дүнтэй үр дүнтэй үр дүнтэй үр дүнг бий болгодог. Жишээ нь, бид 4 LLM-ийг харуулсан өргөн хүрээтэй эмпирийн судалгааг

1 Үйлчилгээ

Мутацийн туршилтын нь хамгийн үр дүнтэй програм хангамжийн туршилтын техникийн нэг юм [17, 18, 27, 33, 59]. Энэ нь эх үүсвэр програмын эх үүсвэр код дахь хялбар синтаксийн өөрчлөлтийг (жишээ нь, мутаци) хийхэд програмны хувилбар үйлдвэрлэхэд ажилладаг. Эдгээр хувилбар нь туршилтын хэрэгцээг бий болгож, эх үүсвэр болон мутант програмууд дээр янз бүрийн үйл явцыг идэвхжүүлэхийн тулд туршилтыг хүсч байна. Мутант нь туршилтын туршилт нь эх үүсвэр хөтөлбөрээс янз бүрийн програм хангамж (хааралтай үйл явцыг) идэвхжүүлэхийн гэж нэрлэгддэг мутацийн түвшин гэж нэрлэдэг туршилтын тохиромжтой байдал метрик бий болгодог.


мутацийг туршилтын зорилготой бөгөөд энэ арга замыг үр дүнтэй хэрэглэгддэг мутант бүтэцээс хамаарна. Хэвийн техникиуд нь мутацийн операторууд гэж нэрлэдэг хялбар синтаксийн өөрчлөлтийг ашигладаг [33, 59]. Бид эдгээр арга замыг нунтагтай арга замыг нэрлэдэг.


Үнэгүй хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлб


Гэсэн хэдий ч, мутантууд нь мутант туршилтаар ашиглаж байхыг хүсэж байгаа талаархи асуултууд дараах асуултуудтай байдаг: (1) үр дүнтэй мутацийг үүсгэхийн тулд. үр дүнтэй байхын тулд мутаци нь синтетик зөв байх ёстой. Энэ нь одоо байгаа хамгийн их суралцажтай суралцаж суурилсан арга хэрэгсэл нь биш юм. [10, 80], т.е. тэдний үр дүнтэй алдаатай харьцуулахын тулд сайн хүчин чадалтай байх болно [7]. Суралцаж байгаа арга хэрэгсэл үр дүнтэй байхдаа, үр дүнтэй сайжрууд байдаг [15]. (2) Суралцаж байгалийн мутацийг үүсгэхийн тулд тохиромжтой байх ёстой. Мутаци нь байгалийн кодийг үүсгэхийн тулд байгалийн кодийн загвар, үйл


Эдгээр асуултуудыг хангахын тулд бид Big-Language Models (LLMs) -ийг ашиглахыг зорилготой бөгөөд энэ нь том код дээр боловсруулсан бөгөөд гудамжны код үүсгэх боломжтой юм [11]. Судалгааны дараа [26, 49, 65], бид үйл явцыг агуулсан тохиромжтой зөвлөгөө, мутируулсан код элемент, харьцуулахын тулд тохиромжтой арга хэрэгсэл код, бодит дэлхий даяар буруудыг дээж авсан хэд хэдэн дээж ашигладаг. Бид 4 LLM-ийг, 2 хагас эх сурвалж, 2 хагас эх сурвалж, 2 Java бенчмарк, түүнчлэн Defects4J [37] болон ConDefects [82] нь 440 бодит дэлхий даяар буруудыг харьцуулахын тулд ConDefects [8


Бидний үнэлгээ нь LLM-ийн үүсгэсэн мутацийг олон тооны, чанарын анализ агуулдаг. Үүнээс гадна, бид янз бүрийн prompt инженерийн стратеги, LLM-ийн (жишээ нь, GPT-3.5-Turbo [4], GPT-4-Turbo, CodeLlama-13bInstruct [64], болон StarChat-β-16b [45]) нь үйл явцыг үр дүнтэй болгон хэрхэн нөлөөлж байна. Үүнээс гадна, LLM-ийн үүсгэсэн ямар ч компиляцийг үүсгэсэн мутантуудын эх үүсвэрийг болон алдааны төрөлг анализ байна.


Бидний үр дүн нь мутант генерацийг зориулсан хамгийн сайн загвар нь GPT-4 юм. Энэ нь хэрэглэгддэг бүх метрикенд бусад LLM-ийг сайжруулдаг. Энэ нь бага адил мутант, өндөр нягтрал илрүүлэх потенциалтай мутант, түүнчлэн бодит нягтралтай нь илүү их холболт, хэлбэрийн адил юм. GPT-3.5 нь нягтрал илрүүлэх потенциал нь хоёр дахь хамгийн шилдэг бөгөөд Defects4J-д 96.7% ба ConDefects-д 86.7% нь нягтрал илрүүлэх явдал юм. Үүнээс дээш техникиудээс Major нь Defects4J-д 91.6% болон ConDefects-д 68.9% нь нягтрал илрүүлэх боломжийг олгодог. ConDefects-д GPT


Бидний судалгааны бусад гайхамшигтай олборлолт нь мутантын янз бүрийн талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи талаархи


Бид түүнчлэн GPT-ийн үүсгэсэн мутацийг мэдэгддэг бөгөөд энэ нь суралцаж чадахгүй байгаа бөгөөд суралцаж суурилсан мутацийг олон төрлийн байдаг бөгөөд тэд 9 компиляцийн алдааны төрөлтэй хамааралтай бөгөөд Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн Зөвхөн.


Бид бидний арга хэрэгсэл гэж нэрлэдэг мутацины хэрэгсэл юм.Kumo, Java-д LLM-д суурилсан мутацийн үүсгэх хэрэгсэл. туршилтын өгөгдөл дээр суурилсан бид өндөр чанартай LLM-ийн үүсгэгдсэн мутантыг агуулсан өгөгдлийн багц бий болгосон бөгөөд энэ нь мутацийн туршилтын хувьд зөвхөн ашиглаж болно боловч бурууны локализаци, бурууны урьдчилан сэргийлэх гэх мэт бусад бурууны хэрэглээнд ашиглаж болно. Kumo-ийн имплементац болон туршилтын өгөгдлийг нээлттэй шинжлэх ухааны хувьд ашиглаж болно [1].


Нийтэлсэн хэдий ч, бидний нийтлэл дараах гол тусламж байна:


• Бид мутацийн туршилтын LLM-ийн хэрэгцээг судлах. Бид LLM-ийг одоогийн хэрэгсэл / арга хэрэгсэл / арга хэрэгслүүдийг харьцуулахын тулд өргөн, нарийвчлалтай харьцуулалтын туршилт хийх. Бидний олох нь GPT загварууд нь бодит богиноийг нарийвчлалтай болгодог мутацийг үүсгэхэд маш сайн байна.


• Бид янз бүрийн зөвлөмжүүд харьцуулаад, тохиромжтой кодыг контекст нь хамгийн сайн үр дүнтэй архивууд нь хэд хэдэн зурвасын суралцах гэж үздэг.


• Бид ямар ч компилируулсан мутацины алдааны төрөл анхаарал хандуулж, арга замыг олж, гишүүдийн үнэлгээ нь LLM-ийг компилируулсангүй мутацийг үүсгэх боломжийг олгодог.


• Бид өндөр чанарын Java мутацийг өгөгдлийн цуглуулгыг бий болгосон бөгөөд энэ нь гарын авлагатай эквивалент мутантуудыг анхаарах болно.


Энэ нийтлэл нь CC by 4.0 Deed (Attribution 4.0 International) лицензийн дагуу archiv дээр байдаг.

Энэ текст ньavailable on arxivCC by 4.0 Ажлын (Attribution 4.0 International) лицензийн дагуу.

Архивууд


L O A D I N G
. . . comments & more!

About Author

Mutation Technology Publications HackerNoon profile picture
Mutation Technology Publications@mutation
Mutation: process of changing in form or nature. We publish the best academic journals & first hand accounts of Mutation

TAG ҮҮ

ЭНЭ ӨГҮҮЛЛИЙГ ТОЛГОЙЛУУЛСАН...

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks