---
title: Kamil Tomčufčík
published: true
taxonomy:
    category: [dp2025]
    tag: [lm]
    author: Daniel Hladek
---

rok začiatku štúdia: 2020

# Diplomová práca 2025

Ciel:

Overiť a zlepšiť možnosti generovania jednotkových testov

Zadanie:

1. Vypracujte prehľad veľkých jazykových modelov s podporou generovania programového kódu.
2. Vyberte vhodnú dátovú množinu a metriku na vyhodnotenie generovania kódu.
3. Navrhnite a vyhodnoťte experimenty s generovaním kódu s pomocou veľkého jazykového modelu. 
4. Identifikujte slabé miesta a navrhnite zlepšenia.

Stretnutie 12.12.2024

Stav:

- Metrika Pass@K sa používa na vyhodnotenie generovaného kódu. Meria, koľko automatických textov bolo splnených. Používa sa aj BLEU, verzia CodeBLEU. CodeJudge.
- Na testovanie generovaných testov sa používajú: vykonanie produkčného kódu, pokrytie testov, mutácie kódu, statická analýza generovaného kódu.
- Vyskúšaný model polycoder (na C),codeparrot (na python) na kaggle. Code T5 zatiaľ nie je vyskúšaný. 
- Copilot by mal byť pre študentov zadarmo. Študneti majú aj Azure kredity.

Úlohy:

- Pokračujte v otvorených úlohách.
- Pripravte sa na predobhajobu - prezentácia s výsledkami. 

Zásobník úloh:

- Pomocou vybranej množiny porovnajte vybrané modely pre generovanie kódu.

Stretnutie 14.11. 2924

Stav:

- Vyhľadané modely na generovanie kódu. Nie sú vyskúšané. Codex, CodeParrot a Incoder. Na unittesty CodeT5 a AthenaTest.
- Rozčítané knihy podľa pokynov.

Úlohy:

Zistite odpovede na tieto otázky:
- [x] Ako zistíme, že vygenerovaný kód je dobrý.
- [x] Ako zistíme, že vygenerovaný test vyhovuje špecifikácii?
- [-] Vypracujte písomný prehľad modelov pre generovanie kódu. Napíšte aké modely sa používajú, Akým spôsobom sa vyhodnocujú. Napíšte na akej neurónovej sieti sú založené, aké sú veľk=, aké jazyky podporujú, aké výsledky dosahujú. Použite odborné články. Odborné články nájdete na google scholar alebo scopus.
- [-] Pripravte vzorovú dátovú množinu. Hotové testy, implementácie aj dokumentáciu. Možno vybrať existujúci open source projekt alebo hotovú dátovú množinu. 
- [-] Vyskúšajte niekoľko jazykových modelov pre generovanie kódu aj generovanie testov. 
- [ ] Do diplomovej práce vypracujte experimenty kde vyhodnotíte jazykové modely pre generovanie testov v rôznych prostrediach. 

Zásobník úloh:

- Dotrénujte model pre lepšie generovansie testov. 



Stretnutie online 5.2.2024:

Úlohy:

- Nainštalujte si prostredie Anaconda, pozrite si knihu https://diveintopython3.net/ 
Dive Into Python 3
- pre úvod do neurónových sietí si prečítajte knihu https://d2l.ai/index.html Dive into Deep Learning — Dive into Deep Learning 1.0.3 documentation
- vyskúšajte viac modelov pre generovanie kódu. Codex, Copilot, ChatGPT
- zistite ako funguje veľký jazykový model


Zásobník úloh (zadanie na ďalšie stretnutie):

- Zistite zoznam open source modelov pre generovanie kódu a porovnajte ich možnosti. Zoznam zapíšte do textového súboru.
- Vyberte si jeden z modelov na generovanie kódu, nainštalujte si ho a vyskúšajte.
- Zistite, ako sa číselne vyjadrí kvalita generovania počítačového kódu. Aké metriky sa používajú? Zistie aké trénovacie a vyhodnocovacie množiny sa používaju. Zoznam zapíšte do súboru.
- Zistite, ako sa dá taký model "dotrénovať" na špecifickú úlohu generovania testov.


