Kielimallien hyödyntäminen koodimigraatiossa: siirtymä AngularJS:stä Angulariin - Johansson, Robi (My University, 2026)
Pitkä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.

In 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.
Keywords: laajat kielimallit; ohjelmistomigraatio; AngularJS; Angular; JavaScript; TypeScript; refaktorointi; laadunvarmistus; staattinen analyysi; automaatioharha; large language models; software migration; refactoring; quality assurance; static analysis; automation bias