Virksomheder fanget i fortiden
Det er et velkendt problem i dansk industri, fintech og ikke mindst den offentlige sektor: Forældede C-baserede systemer, der er blevet rygraden i kritiske forretningsprocesser, men som nu er både dyre og risikable at vedligeholde. Mange it-chefer og udviklingsledere sidder med sved på panden, når de skal forklare bestyrelsen, hvorfor en opgradering trækker ud, eller hvorfor små ændringer tager uger. Samtidig vokser presset for at integrere med moderne cloud-tjenester og levere nye digitale løsninger hurtigere end nogensinde før.
Behovet for effektiv, sikker og skalerbar kode-migrering er derfor mere aktuelt end nogensinde. Men hvordan undgår man at ende i et mareridt af manuelle konverteringer, fejl og uforudsete nedbrud? Her kommer agentbaseret kode-migrering ind i billedet, hvor AI og mennesker arbejder sammen om at løfte arven fra C til Java/Spring – og ikke mindst ind i skyen.

Agentbaseret kode-migrering forklaret
Agentbaseret kode-migrering betyder, at specialiserede AI-agenter – hver med deres eget ansvarsområde – arbejder sammen med mennesker om at analysere, konvertere, validere og integrere kode. Det hele styres i et workflow, hvor både automatisering og menneskelig indsigt får plads. Med Amazon Nova Premier og Bedrock Converse API får man adgang til avancerede sprogmodeller, der kan forstå og omskrive komplekse kodebaser, mens Strands Agents-frameworket styrer agenternes livscyklus og samarbejde.
Amazon Nova Premier leverer selve AI-motoren, mens Bedrock Converse API muliggør samtalebaseret interaktion og styring af agenternes opgaver. Det betyder, at selv store og komplekse kodebaser kan migreres trinvis og sikkert – uden at man mister overblikket eller forretningslogikken undervejs.

Sådan fungerer workflowet – trin for trin
Workflowet er opdelt i specialiserede agentroller:
- Analyseagent: Kortlægger kodebasens struktur, afhængigheder og kompleksitet. Outputtet er et JSON-dokument med anbefalinger til migreringsrækkefølge og risikovurdering.
- Konverteringsagent: Omskriver C-kode til Java/Spring, følger best practices og håndterer typiske faldgruber som pointere og memory management.
- Sikkerhedsagent: Gennemgår både den gamle og nye kode for sårbarheder og foreslår konkrete forbedringer.
- Valideringsagent: Sikrer, at alle funktioner og logik er korrekt overført, og at kodekvaliteten lever op til moderne standarder.
- Refine-agent: Itererer på baggrund af feedback fra validering og sikkerhed, så fejl og mangler bliver rettet.
- Integrationsagent: Samler de migrerede filer til en sammenhængende applikation og løser navnekonflikter og afhængigheder.
- DBIO-agent: Konverterer SQL-kode fra C til persistence framework XML-mapper-filer til Java.
Store kodebaser håndteres ved at opdele dem i mindre, logiske enheder. Afhængigheder kortlægges, så man starter med de mindst afhængige moduler (leaf nodes) og arbejder sig op. Det sikrer, at man undgår at bygge ovenpå ustabil grund – og at man kan teste og validere løbende.
Tekniske udfordringer og løsninger
En af de største udfordringer ved at migrere fra C til Java er forskellen i memory management og pointerhåndtering. Hvor C tillader direkte adgang til hukommelsen, håndterer Java det automatisk – og det kræver både AI og menneskelig indsigt at sikre, at ingen logik går tabt. Platformsspecifik kode og hardware-nære funktioner kræver ofte manuel tilpasning eller decideret omskrivning.
Eksempler fra praksis viser, at AI-agenten kan konvertere op til 93% af små filer (under 300 linjer) korrekt, mens større filer (over 700 linjer) kræver flere feedback-loops og menneskelig indgriben for at nå op over 80% nøjagtighed. Typiske fejl inkluderer misforståede pointer-operationer eller manglende håndtering af edge cases – men med et solidt validerings- og feedback-loop kan de fleste fejl fanges og rettes, før koden går i produktion.

Sikkerhed, compliance og dokumentation
Sikkerhedsagenten spiller en nøglerolle i at identificere og håndtere sårbarheder, både i den gamle C-kode og i den nye Java/Spring-kode. Det gælder alt fra buffer overflows og SQL-injektion til forkert håndtering af credentials. Alle fund dokumenteres i et struktureret JSON-format, så compliance-krav – f.eks. i det offentlige – kan opfyldes og revideres.
Processen dokumenteres løbende, og alle agenters beslutninger og ændringer logges. Det gør det nemt at spore, hvorfor en bestemt konvertering blev valgt, og hvordan eventuelle sårbarheder blev håndteret.
Automatisering, test og deployment
Test og deployment kan i høj grad automatiseres. Når koden er migreret, genereres der automatisk testcases, som validerer, at funktionaliteten er bevaret. Deployment til cloud sker via standard CI/CD-pipelines, og rollback-muligheder sikres ved at bevare versionshistorik af både den gamle og nye kode.
Monitorering af den nye løsning sker gennem integration med AWS’ overvågningsværktøjer, så performance og stabilitet kan følges tæt – og eventuelle problemer hurtigt kan rulles tilbage eller rettes.
Begrænsninger, fejlsituationer og ROI
Det ville være useriøst at påstå, at AI kan klare alt. Særligt komplekse kodebaser med hardware-nære funktioner, obskure C-makroer eller dårlig dokumentation kræver stadig menneskelig indgriben. Eksempler fra virkeligheden viser, at AI-migrering kan fejle, hvis der mangler testdækning eller domæneviden. Her er det afgørende at have eksperter med på sidelinjen, der kan validere og justere outputtet.
ROI afhænger af kodebasens kvalitet og kompleksitet. For velstruktureret forretningslogik er gevinsten markant: Kortere migreringstid, lavere omkostninger og bedre kodekvalitet. For lavniveau-systemkode eller stærkt afhængige monolitter kan man dog ikke forvente fuldautomatisk succes.

Før/efter-eksempler og agent-feedback
Et konkret eksempel: En C-funktion med pointere og direkte SQL-kald bliver omskrevet til en Java-service med dependency injection, DTO’er og parameteriserede queries. Hvor C-koden måske så sådan ud:
void processData(char *input) {
char buffer[256];
strcpy(buffer, input);
// SQL-call og pointer-logik
}
Bliver det i Java/Spring til:
@Service
public class DataService {
public void processData(String input) {
// Input validation
// Mapper call til database
}
}
Agent-feedback viser, hvordan flere iterationer forbedrer både struktur, sikkerhed og performance – og hvordan menneskelig validering sikrer, at kritiske forretningsregler ikke går tabt.
Sådan kommer du i gang – og Snillds rolle
For danske virksomheder, der vil i gang, er første skridt at få styr på test, dokumentation og domæneviden. Dernæst kan man udvælge et pilotprojekt – gerne et velafgrænset modul med god testdækning – og afprøve agentbaseret migrering i praksis.
Vi i Snilld hjælper med alt fra indledende analyse og proof-of-concept til fuld implementering og integration med cloud. Vi rådgiver om best practices, hjælper med at opbygge det rette agent-setup og sikrer, at både sikkerhed og compliance er tænkt ind fra starten. Og vi lover: Vi gør det uden at kaste om os med buzzwords – men med fokus på konkrete resultater og lavere risiko.

Så hvis du vil have din kode ud af fortiden og ind i fremtiden – uden at miste nattesøvnen – er agentbaseret migrering med Amazon Nova Premier og Snilld et godt sted at starte.
Kilder:
- https://aws.amazon.com/blogs/machine-learning/streamline-code-migration-using-amazon-nova-premier-with-an-agentic-workflow/
- https://aws.amazon.com/ai/generative-ai/nova/
- https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html
- https://aws.amazon.com/blogs/opensource/introducing-strands-agents-an-open-source-ai-agents-sdk/
- https://stackoverflow.com/questions/1029974/experience-migrating-legacy-cobol-pl1-to-java
- https://aws.amazon.com/
Målgruppens mening om artiklen
Peter Madsen, IT-chef, større dansk industrivirksomhed:
Jeg giver artiklen 85. Den rammer plet på de udfordringer, vi sidder med omkring gamle C-systemer og behovet for at migrere til moderne platforme. Jeg synes, forklaringen af agentbaseret migrering er konkret og relevant, og jeg kan se, hvordan det kunne lette vores arbejde. Dog savner jeg lidt flere konkrete cases og erfaringer fra danske virksomheder.
Lene Sørensen, Udviklingsleder, offentlig sektor:
Jeg giver artiklen 90. Artiklen er meget relevant for os i det offentlige, hvor vi kæmper med gamle systemer og compliance-krav. Jeg kan især lide gennemgangen af sikkerhed og dokumentation, og at der ikke bliver lovet mirakler – det er realistisk. Jeg kunne dog godt have brugt lidt mere om, hvordan man håndterer legacy-data.
Anders Holm, CTO, fintech scaleup:
Jeg giver den 75. Det er spændende at høre om AI-agenter og workflowet, men jeg synes, det bliver lidt for meget Amazon-fokus og lidt for lidt på open source-alternativer. Jeg savner også mere om, hvordan man sikrer kvaliteten af migreret kode i praksis, især i finanssektoren hvor kravene er høje.
Maria Jensen, Senior Java-udvikler, konsulenthus:
Jeg giver artiklen 80. Jeg synes, den forklarer processen godt og rammer mange af de tekniske udfordringer, vi møder. Det er positivt, at der bliver nævnt begrænsninger og nødvendigheden af menneskelig indgriben. Jeg savner dog mere teknisk dybde og konkrete kodeeksempler på svære cases.
Steen Birk, CIO, stor offentlig myndighed:
Jeg giver den 70. Artiklen er relevant, men den er lidt for overfladisk i forhold til de reelle organisatoriske og økonomiske barrierer, vi møder. Det er fint med agentroller og workflow, men jeg savner mere om governance, forandringsledelse og hvordan man får hele organisationen med.
*Denne artiklen er skrevet af en redaktion bestående af kunstig intelligenser, der har skrevet artiklen på baggrund af automatiseret research og oplysninger om de seneste teknologi nyheder fra internettet.
Billederne i artiklen er lavet af FLUX.1.1 Pro fra Black Forest Labs.
Book Din AI-Booster Samtale
– Ingen Tekniske Forudsætninger Påkrævet!
Er du nysgerrig på, hvad generativ AI er og hvordan AI kan løfte din virksomhed? Book en gratis og uforpligtende 30 minutters online samtale med vores AI-eksperter. Du behøver ingen teknisk viden – blot en computer eller telefon med internetforbindelse.
I samtalen kigger vi på dine muligheder og identificerer, hvor AI kan optimere jeres arbejdsprocesser og skabe værdi. Det er helt uden bindinger, og vi tilpasser rådgivningen til lige præcis jeres behov.
Fordele ved samtalen:
- Samtalen handler om dig og dine behov
- Indblik i AIs potentiale for din virksomhed
- Konkrete idéer til effektivisering af dine processer
- Personlig rådgivning uden teknisk jargon
Det handler om at skabe værdi for dig