Kielimallien hyödyntäminen koodimigraatiossa: siirtymä AngularJS:stä Angulariin

dc.contributor.authorJohansson, Robi
dc.contributor.departmentfi=Tietotekniikan laitos|en=Department of Computing|
dc.contributor.facultyfi=Teknillinen tiedekunta|en=Faculty of Technology|
dc.contributor.studysubjectfi=Tietotekniikka|en=Information and Communication Technology|
dc.date.accessioned2026-04-29T21:52:28Z
dc.date.issued2026-04-07
dc.description.abstractPitkäikäisissä verkkojärjestelmissä tekninen velka, vanhentuneet riippuvuudet ja puutteellinen tyypitys heikentävät ylläpidettävyyttä, turvallisuutta ja muutosten läpimenoaikaa. Erityisesti AngularJS-pohjaisten käyttöliittymäkoodikantojen modernisointi Angulariin ja TypeScriptiin on monissa organisaatioissa väistämätöntä, mutta työ on yhä suurelta osin manuaalista, virhealtista ja vaikeasti skaalautuvaa. Tässä tutkielmassa tarkastellaan, miten suuria kielimalleja (LLM) voidaan hyödyntää AngularJS:stä Angulariin tehtävässä migraatiossa ja JavaScriptistä TypeScriptiin tehtävässä koodimuunnoksessa. Lisäksi jäsennetään LLM-avusteisen migraation keskeiset hyödyt, haitat ja rajoitteet. Työ perustuu kirjallisuuskatsaukseen, jossa analysoidaan kielimallien roolia koodin muunnoksessa, refaktoroinnissa ja modernisoinnin tukitehtävissä, kuten tyyppien luonnostelussa, ohjelmointirajapintojen kartoituksessa sekä testien ja dokumentaation tuottamisessa. Tulosten perusteella kielimallien keskeisin hyöty on tuottavuuden parantuminen: mallit kykenevät tuottamaan nopeasti ensimmäisiä muunnosversioita ja tukemaan perintökoodin ymmärtämistä, jolloin kehittäjän työ painottuu laadunvarmistukseen ja poikkeusten käsittelyyn. Samalla tunnistetaan merkittäviä riskejä, kuten toiminnallisen vastaavuuden heikkeneminen, sovellusalue- ja ohjelmistokehyskohtaisen tiedon puutteet, ei-deterministinen toiminta sekä automaatioharha. Tutkielman johtopäätös on, että kielimallien paras rooli tässä kontekstissa on puoliksi automatisoidussa migraatioputkessa, jossa mallin tuotokset ankkuroidaan deterministisiin tarkistuksiin (kääntäjä, tyyppitarkistus, koodityylitarkistus, staattinen analyysi) ja testaukseen, ja hyväksyntä sidotaan todistepohjaiseen, riskiperusteiseen katselmointiin.
dc.description.abstractIn long-lived web systems, technical debt, outdated dependencies, and insufficient typing weaken maintainability, security, and change lead time. In particular, modernizing AngularJS-based front-end codebases to Angular and TypeScript has become unavoidable in many organizations, yet the work is still largely manual, errorprone, and difficult to scale. This thesis examines how large language models (LLMs) can be leveraged in migration from AngularJS to Angular and in code conversion from JavaScript to Type- Script. It also structures the key benefits, drawbacks, and limitations of LLMassisted migration. The study is based on a literature review that analyzes the role of language models in code transformation, refactoring, and modernization support tasks, such as drafting type annotations, mapping APIs, and generating tests and documentation. The findings indicate that the main benefit of language models is improved productivity: models can quickly produce initial conversion drafts and support understanding of legacy code, shifting the developer’s work toward quality assurance and handling exceptions. At the same time, significant risks are identified, including degradation of functional equivalence, gaps in domain- and framework-specific knowledge, non-deterministic behavior, and automation bias. The thesis concludes that the most effective role for language models in this context is within a semiautomated migration pipeline, where model outputs are anchored to deterministic checks (compiler, type checker, linter, static analysis) and testing, and where acceptance is tied to evidence-based, risk-driven review.
dc.format.extent45
dc.identifier.urihttps://www.utupub.fi/handle/11111/59906
dc.identifier.urnURN:NBN:fi-fe2026042029392
dc.language.isofin
dc.rightsfi=Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty.|en=This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.|
dc.rights.accessrightsavoin
dc.subjectlaajat kielimallit
dc.subjectohjelmistomigraatio
dc.subjectAngularJS
dc.subjectAngular
dc.subjectJavaScript
dc.subjectTypeScript
dc.subjectrefaktorointi
dc.subjectlaadunvarmistus
dc.subjectstaattinen analyysi
dc.subjectautomaatioharha
dc.subjectlarge language models
dc.subjectsoftware migration
dc.subjectrefactoring
dc.subjectquality assurance
dc.subjectstatic analysis
dc.subjectautomation bias
dc.titleKielimallien hyödyntäminen koodimigraatiossa: siirtymä AngularJS:stä Angulariin
dc.type.ontasotfi=Kandidaatintutkielma|en=Bachelor's thesis|

Tiedostot

Näytetään 1 - 1 / 1
Ladataan...
Name:
Johansson Robi Kandi 2026.pdf
Size:
375.83 KB
Format:
Adobe Portable Document Format