Programavimo ateitis: judrios plėtros tobulinimas naudojant automatizuotą pseudokodą

text-on-a-laptop-screen-uov4h6395jvish8s16biglu9.png


Autoriai:

(1) Gauravas Kolhatkaras, SCTR Pune kompiuterių technologijos institutas, Puna, Indija ([email protected]);

(2) Akshit Madan, SCTR Pune kompiuterių technologijos institutas, Puna, Indija ([email protected]);

(3) Nidhi Kowtal, SCTR Pune kompiuterių technologijos institutas, Puna, Indija ([email protected]);

(4) Satyajit Roy, SCTR Pune kompiuterių technologijos institutas, Puna, Indija ([email protected]).

Santrauka ir įvadas

Literatūros tyrimas

Metodika

Veiklos analizė

Išvados ir literatūros sąrašas

V. IŠVADA

Šiame darbe nagrinėjamas didžiulis programavimo darbo automatizavimo potencialas, kurį siūlo natūralios kalbos apdorojimas. Siūlome dviejų etapų metodiką, skirtą anglų kalbos vartotojų pasakojimams konvertuoti į pseudokodą. Pseudokodo pranašumas yra tas, kad jis leidžia lengvai konvertuoti į bet kurią kūrėjo pasirinktą programavimo kalbą. Du šio metodo etapai yra teksto konvertavimas į kodą ir kodo konvertavimas į pseudokodą. Kiekvienas iš šių etapų traktuojamas kaip kalbos vertimo užduotis. Šiai užduočiai atlikti naudojame CodeT5 modelį, gaudami BLEU balą 0,4 už 1 etapą ir 0,74 už 2 etapą. Mūsų siūloma sistema supaprastina programinės įrangos kūrimo procesą organizacijose.

Ateityje planuojame kuruoti didesnį duomenų rinkinį, skirtą angliško teksto konvertavimui į Python kodą. Su didesniu ir įvairesniu duomenų rinkiniu galime gauti didesnį tikslumą ir geriau apibendrinti naujus pavyzdžius. Tam reikės daug duomenų rinkti, tačiau tai gali atverti duris efektyvesniems ir naudingesniems teksto konvertavimo į kodą metodams. Be to, gali būti sukurtas pseudokodo duomenų rinkiniui tinkamas tekstas, kuris padėtų supaprastinti konversijos architektūrą.

NUORODOS

[1] Devlin, J., Chang, M.-W., Lee, K., Toutanova, K.: BERT: Pre-training of deep bidirectional transformers for language suprasti. arXiv preprint arXiv:1810.04805 (2018)

[2] GraphCodeBERT: Kodo pateikimas prieš mokymą naudojant duomenų srautą ICLR 2021 · Daya Guo, Shuo Ren, Shuai Lu, Zhangyin Feng, Duyu Tang, Shujie Liu, Long Zhou, Nan Duan, Alexey Svyatkovskiy, Shengyu Fu, Sha Michele Kun Defano, Colin Clement, Dawn Drain, Neel Sundaresan, Jian Yin, Daxin Jiang, Ming Zhou

[3] Vieningas išankstinis mokymas, skirtas programos supratimui ir generavimui Wasi Uddin Ahmad, Saikat Chakraborty, Baishakhi Ray, Kai-Wei Cha (2021)

[4] Kodo generavimas iš natūralios kalbos turint mažiau išankstinių žinių ir daugiau vienakalbių duomenų Sajad Norouzi, Keyi Tang, Yanshuai Cao (2021)

[5] Patobulinto kodo generavimas ir apibendrinimas Md Rizwan Parvez, Wasi Uddin Ahmad, Saikat Chakraborty, Baishakhi Ray, KaiWei Chang (2021)

[6] Smulkaus pseudokodo generavimo metodas naudojant kodo funkcijų ištraukimą ir transformatorių Guang Yang, Yanlin Zhou, Xiang Chen, Chi Yu (2021)

[7] Mokymasis generuoti pseudokodą iš šaltinio kodo naudojant statistinį mašininį vertimą Yusuke Oda, Hiroyuki Fudaba, Graham Neubig, Hideaki Hata, Sakriani Sakti, Tomoki Toda ir Satoshi Nakamura (2021)

[8] Code2Text: dvigubo dėmesio sintaksės anotacijų tinklai, skirti StructureAware kodo vertimui Autoriai: Yun Xiong, Shaofeng Xu, Keyao Rong, Xinyue Liu, Xiangnan Kong, Shanshan Li, Philip Yu, Yangyong Zhu

[9] Namų duomenų bazių sistemos pažangioms programoms Konferencijos pranešimas Code2Text: Dvigubo dėmesio sintaksės anotacijų tinklai, skirti StructureAware kodo vertimui Yun Xiong, Shaofeng Xu, Keyao Rong, Xinyue Liu, Xiangnan Kong, Shanshan Li, Philip Yu ir Yangyong Zhu

[10] DeepPseudo: gilus pseudokodo generavimas per transformatorių ir kodo funkcijų ištraukimą Guang Yang, Xiang Chen, +1 autorius Chi Yu (2021)

[11] Tankus atvirojo domeno klausimų ištraukų paieška, atsakant į Vladimirą Karpukhiną, Barlasą Oguzą, Sewoną Miną, Patricką Lewisą, Ledell ˘ Wu, Sergejų Edunovą, Danqi Cheną, Wen-tau (2020 m.)

[12] Shah, V.: Judraus tradicinio metodo, kaip praktikos, reikšmė farmacijos pramonėje (2017)

[13] Cohn, M.: Vartotojų istorijos, taikomos: judriam programinės įrangos kūrimui. Addisonas – Wesley Professional (2004 m.)

[14] Iyer, S., Konstas, I., Cheung, A., Zettlemoyer, L.: Kalbos susiejimas su kodu programiniame kontekste. arXiv preprint arXiv:1808.09588 (2018)

[15] Saeki, M., Horai, H., Enomoto, H.: Programinės įrangos kūrimo procesas iš natūralios kalbos specifikacijos. In: 11-osios tarptautinės programinės įrangos inžinerijos konferencijos medžiaga, p. 6473 (1989)

[16] Gilson, F., Galster, M., Georis, F.: Kokybės atributų išgavimas iš vartotojų istorijų, kad būtų galima priimti ankstyvus architektūros sprendimus. In: 2019 IEEE International Conference on Software Architecture Companion (ICSAC), p. 129136 (2019). IEEE

[17] Robeer, M., Lucassen, G., Van DerWerf, JME, Dalpiaz, F., Brinkkemper, S.: Automatizuotas koncepcinių modelių ištraukimas iš vartotojų istorijų per nlp. In: 2016 IEEE 24th International Requirements Engineering Conference (RE), p. 196–205 (2016). IEEE

[18] Husain, H., Wu, H.-H., Gazit, T., Allamanis, M., Brockschmidt, M.: Code- SearchNet iššūkis: semantinio kodo paieškos būsenos įvertinimas. arXiv preprint arXiv:1909.09436 (2019)

[19] Fudaba, H., Oda, Y., Akabe, K., Neubig, G., Hata, H., Sakti, S., Toda, T., Nakamura, S.: Pseudogenas: įrankis automatiškai generuoti pseudo kodą iš šaltinio kodo. In: 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), p. 824{829 (2015). IEEE

[20] Alhefdhi, A., Dam, HK, Hata, H., Ghose, A.: Pseudokodo generavimas iš šaltinio kodo naudojant gilųjį mokymąsi. In: 2018 25th Australasian Software Engineering Conference (ASWEC), p. 21{25 (2018). IEEE

[21] Rai, S., Gupta, A.: Pseudo kodo generavimas iš Python šaltinio kodo naudojant taisyklėmis pagrįstą mašininį vertimą. arXiv preprint arXiv:1906.06117 (2019)

[22] Sutskever, I., Vinyals, O., Le, QV: Sequence to sequence learning with neuron networks. In: Advances in Neural Information Processing Systems, p. 3104{3112 (2014)

[23] Devlin, J., Chang, M.-W., Lee, K., Toutanova, K.: BERT: Pre-training of deep bidirectional transformers for language suprasti. arXiv preprint arXiv:1810.04805 (2018)

[24] Liu, Y., Ott, M., Goyal, N., Du, J., Joshi, M., Chen, D., Levy, O., Lewis, M., Zettlemoyer, L., Stoyanov, V.: RoBERTa: tvirtai optimizuotas BERT išankstinio mokymo metodas. arXiv preprint arXiv:1907.11692 (2019)

[25] Teksto į kodą generavimo duomenų rinkinys

[26] Duomenų rinkinys, skirtas kodui generuoti pseudokodą

[27] BLEU: automatinio mašininio vertimo vertinimo metodas Kishore Papineni, Salim Roukos, Todd Ward ir Wei-Jing Zh



Source link

Draugai: - Marketingo agentūra - Teisinės konsultacijos - Skaidrių skenavimas - Fotofilmų kūrimas - Miesto naujienos - Šeimos gydytojai - Saulius Narbutas - Įvaizdžio kūrimas - Veidoskaita - Nuotekų valymo įrenginiai - Teniso treniruotės - Pranešimai spaudai -