Hyppää sisältöön
    • Suomeksi
    • In English
Trepo
  • Suomeksi
  • In English
  • Kirjaudu
Näytä viite 
  •   Etusivu
  • Trepo
  • Opinnäytteet - ylempi korkeakoulututkinto
  • Näytä viite
  •   Etusivu
  • Trepo
  • Opinnäytteet - ylempi korkeakoulututkinto
  • Näytä viite
JavaScript is disabled for your browser. Some features of this site may not work without it.

VAPU: Verifying Multi-Agent System for Source Code Modernisation

Ala-Salmi, Valtteri (2025)

 
Avaa tiedosto
Ala-SalmiValtteri.pdf (1.403Mt)
Lataukset: 



Ala-Salmi, Valtteri
2025

Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2025-09-12
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202509119184
Tiivistelmä
Applications, especially ones operating on the web, are very often deprecated due to fast moving technology. As up-keeping applications are costly and time-consuming continuous projects, many applications are left behind by their up keepers, causing challenges in security, reliability, and compatibility with other systems. Therefore, a fast and reliable system is needed to automate the needed updates for the applications.

This thesis extends a previous study of a Large Language Model (LLM)-based multi-agent pipeline system now introduced as Verifying Agent Pipeline Updater (VAPU) designed to refactor and modernise code. The thesis aims to find how different LLMs, the temperature used, and different tasks impact the performance of VAPU. Furthermore, this thesis investigates the challenges and opportunities of using a multi-agent system for updating code to provide understanding of multi-agent systems use in the practical sense.

A web legacy application was used as a case study to evaluate VAPU’s performance. Six CakePHP view files from the legacy application were updated in five different LLMs at temperatures 0 and 1 with and without VAPU. VAPU’s performance was further verified with 20 GitHub Python projects in different feature extension and modernisation tasks with all models, and both methods. The challenges and benefits of the multi-agent system’s functionality were observed during the testing.

Comparison with different LLMs showed differences in performance. Medium-sized LLMs exceeded in smaller version update tasks, while higher-parameter models were better in more difficult tasks. With the temperature lowered to 0, VAPU improved with a reduction in errors and a higher probability of completing the requirements. Based on the evaluation of the Python files and depending on the LLM used, VAPU can achieve an improvement up to 22.5% in various code update tasks. The improvements were focused on cases with complex code.

This thesis demonstrates that a multi-agent system is capable of updating code with a possibility of higher rate of completed requirements compared to a prompt for an LLM. The thesis contributes additionally showing the benefits of lower temperature in code updating multi-agent systems. The benefits and challenges observed during the testing provide practitioners with opportunities to further improve similar systems further for updating code. VAPU provides a working foundation for practitioners for code updating multi-agent systems. The code for VAPU is publicly available at https://github.com/alasalm1/Multi-agent-pipeline
 
Varsinkin internet-pohjaiset sovellukset ovat usein vanhentuneita, johtuen nopeasta teknologisesta kehittymisestä. Koska sovellusten ylläpitäminen on kallista ja aikaa vievää, ne jäävät päivittämättä, johtaen haasteisiin turvallisuudessa, luotettavuudessa, ja yhteensopivuudessa muihin järjestelmiin. Täten nopea ja luotettava järjestelmä on tarpeellinen automatisoimaan tarvittavat päivitykset sovelluksissa.

Tämä diplomityö laajentaa edellistä tutkimusta suuri kielimalli (LLM) -pohjaisesta moniagenttijärjestelmästä, joka on nimetty tässä työssä Verifioivaksi AgenttiPutki Uudistusjärjestelmäksi (VAPU), joka on suunniteltu päivittämään ja modernisoimaan lähdekoodia. Diplomityö pyrkii havainnoimaan kuinka eri laajat kielimallit, käytettävä lämpötila ja eri tehtävät vaikuttavat VAPU:n suorituskykyyn. Tämän lisäksi diplomityö tutkii hyötyjä ja haasteita VAPU:n käytöstä, tuottaen tietoa sen käyttömahdollisuuksista käytännössä.

Tässä työssä tapaustutkimuksena käytetään Web-pohjaista perintöjärjestelmää tarkastelemaan VAPU:n suorituskykyä. Kuusi CakePHP:n ohjelmistokehyksen tiedostoa perintöjärjestelmästä päivitettiin viidellä eri laajalla kielimallilla, nollan ja yhden mallin lämpötilalla, VAPU:lla ja ilman sitä. VAPU:n suorituskykyä tarkasteltiin tarkemmin 20:llä GitHub Python projektilla erinäisissä koodin laajennus ja modernisoinnin tehtävissä jokaisella kielimallilla ja molemmilla menetelmällä. Moniagenttijärjestelmän haasteet ja hyödyt tunnistettiin testaamisen aikana.

Vertailu suurien kielimallien kesken osoitti eroja suorituskyvyssä. Keskikokoiset suuret kielimallit olivat luotettavimpia pienemmissä version päivityksissä, kun taas laajemmat kielimallit olivat parempia vaikeammissa päivitystehtävissä. Lämpötilan ollessa 0, VAPU paransi suorituskykyä vähemmillä virheillä ja suuremmalla todennäköisyydellä suorittaa tehtävän vaatimukset. Python-tiedostojen päivityksestä saatujen tietojen perusteella, riippuen käytetystä laajasta kielimallista, VAPU voi parantaa suoritusta 22.5% erilaisissa koodin päivityksen tehtävissä. Tämä koski varsinkin haasteellisempia lähdekoodeja.

Tämä diplomityö osoittaa, että moniagenttijärjestelmä voi päivittää lähdekoodia mahdollisesti korkeammalla todennäköisyydellä verrattuna pelkkään kehotteeseen suurelle kielimallille. Lisäksi tämä diplomityö osoittaa hyödyn käyttää alhaista lämpötilaa lähdekoodin päivittämisessä moniagenttijärjestelmällä. Havaitut hyödyt ja haasteet tarjoavat mahdollisuuden parantaa lähdekoodin päivittämiseen suunniteltuja moniagenttijärjestelmiä. VAPU tarjoaa toimivan perustan koodin päivittämiseen moniagenttijärjestelmille. VAPU:n lähdekoodi on julkisesti saatavilla osoitteesta https://github.com/alasalm1/Multi-agent-pipeline
 
Kokoelmat
  • Opinnäytteet - ylempi korkeakoulututkinto [41202]
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste
 

 

Selaa kokoelmaa

TekijätNimekkeetTiedekunta (2019 -)Tiedekunta (- 2018)Tutkinto-ohjelmat ja opintosuunnatAvainsanatJulkaisuajatKokoelmat

Omat tiedot

Kirjaudu sisäänRekisteröidy
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste