Gépi tanulás a szoftverfejlesztésben kutatócsoport

2025.04.23.
Gépi tanulás a szoftverfejlesztésben kutatócsoport
Bemutatkozás

Fő tevékenységünk a gépi tanulás, azon belül is főleg a mélytanulás alkalmazása a szoftverfejlesztés feladataira: megtanítani a számítógépeket programkód megértésére, írására, és javítására. A forráskódok bizonyos mértékben és tulajdonságaikban hasonlítanak a természetes nyelvekhez, így alkalmazhatóak rájuk a természetes nyelvek gépi feldolgozásában használt módszerek, mint például a nagy nyelvi modellek.

Kutatási területek

Programkód transzformációk

Kód idiomatizálása (Szalontai et al., 2024, Szalontai et al., 2023)

Python programok idiomatizálása. A fenti Python program egy hagyományos ciklussal számlálja meg a pozitív értékeket, a javított verzió egy listakifejezéssel idiomatikusabb megközelítést alkalmaz. Az általunk alkotott kétkomponensű módszer mély tanuláson alapuló architektúrákkal oldja meg az idiomatizálás feladatát.

Programhibák automatikus javítása (Szalontai et al., 2024)

Neurális kódvisszafejtés (Szalay et al., 2024)

Többkomponensű kódvisszafejtő modell. Egy szekvencia-szekvencia modell megkapja a szöveges bemenetet (bal oldal), majd szavanként alakítja át az elvárt kimeneti formátumra (középen). Az architektúra figyelem mechanizmus segítségével tudja javítani a visszaadott szöveg minőségét, illetve a másoló mechanizmus segítségével képes szószekvenciákat átemelni a bemenetből a kimenetbe.

Követelményelemzés

Módszertan
  • rekurrens neurális hálók
  • transzformerek
  • nagy nyelvi modellek
  • másoló mechanizmus
Kutatócsoport tagjai

Gregorics Tibor, egyetemi docens (<a href="mailto:gt@inf.elte.hu">gt@inf.elte.hu</a>); Pintér Balázs, egyetemi adjunktus (pinter@inf.elte.hu); 3 doktori hallgató és több, mint 10 MSc és BSc hallgató

Nyertes pályázatok

?

Öt fontos publikáció
  • Szalay, G., Poór, M. B., Pintér, B., & Gregorics, T. (2024). Single-pass end-to-end neural decompilation using copying mechanism. Neural Computing and Applications, https://doi.org/10.1007/s00521-024-10735-9
  • Szalontai, B., Vadász, A., Márton, T., Pintér, B., & Gregorics, T. (2024). Fine-Tuning CodeLlama to Fix Bugs. In Z. Illés, C. Verma, P. J. S. Goncalves, & P. K. Singh (Eds.), Proceedings of International Conference on Recent Innovations in Computing (pp. 497 509). Springer Nature. https://doi.org/10.1007/978-981-97-3442-9_34
  • Szalontai, B., Márton, T., Kukucska, Á., Pintér, B., & Gregorics, T. (2024). Idiomatizing Python Source Code Using Different Recurrent Architectures. In K. Arai (Ed.), Intelligent Systems and Applications (pp. 228–242). Springer Nature Switzerland. https://doi.org/10.1007/978-3-031-66431-1_15
  • Szalontai, B., Kukucska, Á., Vadász, A., Pintér, B., & Gregorics, T. (2023). Localizing and Idiomatizing Nonidiomatic Python Code with Deep Learning. In K. Arai (Ed.), Intelligent Computing (pp. 683 702). Springer Nature Switzerland. https://doi.org/10.1007/978-3-031-37963-5_47
  • Mucsányi, B., Gyarmathy, B., Czapp, Á. and Pintér, B. (2022) ’Flexible Example-Based Program Synthesis on Tree-Structured Function Compositions’, SN Computer Science, 3, pp. 218:1–218:15. DOI: 10.1007/s42979-022-01090-4
Elérhetőség

?