Bakalářská práce

LLMs with Test Feedback for Program Synthesis

Marcel Nadzam
Anotace

Táto práca predstavuje systém pre automatickú syntézu programov s využitím veľkých jazykových modelov (LLMs). Systém generuje funkcie v jazyku Python na základe popisov definovaných používateľom a overuje ich pomocou odpovedajúcich unit testov. V prípade zlyhania testov sú výsledky odovzdané späť modelu na úpravu. Systém je implentovaný na Aure, zdieľanom akademickom Linux serveri, a podporuje open …více

Abstract

This thesis presents a feedback-driven pipeline for automated program synthesis using large language models (LLMs). The system generates Python functions from user-defined descriptions and validates them against corresponding unit tests. If the code fails, the test results are returned to the LLM for refinement. The pipeline is designed to run on Aura, a shared academic Linux server, and supports open …více

Zadání práce
The aim of the thesis is to implement a large language model (LLM)-based pipeline for program synthesis of Python program with iterative refinement based on unit tests. The user will provide a textual description of the functionality of the function to be synthesized as well as unit tests for that functionality. The program output by the LLM will be tested using the provided tests and the test results will be passed back to the LLM with a prompt asking for program repair. The thesis will also include an experimental evaluation of the pipeline w.r.t. various free coding-focused LLMs, classes of problems, and prompts. The text part of the thesis will briefly provide the necessary background. Then, it will focus on describing the design choices and implementation behind the proposed pipeline and thorough presentation of experimental outcomes.
Práce zkontrolována:
28. 5. 2025 10:19, doc. RNDr. Petr Novotný, Ph.D., učo 172743
Jazyk práce
angličtina angličtina
Termín obhajoby
23. 6. 2025
Práce byla úspěšně obhájena

Vedoucí

doc. RNDr. Petr Novotný, Ph.D., učo 172743
KTP FI MU

Oponent

Mgr. Tomáš Foltýnek, Ph.D., učo 4374
KSUZD FI MU

  • Přidání souboru

    Soubor nebo složku lze nahrát pomocí tlačítka Přidat.
  • Další operace se soubory

    Podrobnosti lze zjistit označením příslušného řádku.
  • Pohled pro experty

    Pro častou práci je možné zvolit režim Více možností.
  • Vyhledávání souborů

    Vyhledávaný výraz můžete zadat přímo do adresního řádku.
  • Rychlý přístup k souborům

    Pomocí funkce Nedávné je možné se rychle vrátit k právě prohlíženým souborům. Oblíbené soubory je také možné označit Hvězdičkou.