Each language version is independently generated for its own context, not a direct translation.
EmbC-Test: Hoe een slimme assistent het testen van ingebouwde software versnelt
Stel je voor dat je een enorme fabriek hebt waar robots en slimme apparaten worden gebouwd. De software die deze machines aanstuurt (zoals in een tractor of een industriële pomp) moet perfect werken. Als er een foutje in zit, kan dat leiden tot gevaarlijke situaties. Daarom moeten ingenieurs elke regel code grondig testen.
Het probleem? Dit handmatig doen is als het proberen te vullen van een zwembad met een theelepel. Het kost enorm veel tijd, is saai, en als je te snel werkt, maak je fouten.
Dit artikel vertelt over een nieuwe manier om dit proces te versnellen, met behulp van een slimme computerassistent (een 'Large Language Model' of LLM) die wordt geholpen door een slim zoeksysteem (RAG).
Hier is hoe het werkt, vertaald naar alledaagse taal:
1. Het Probleem: De "Dwaze" Computer
Stel je voor dat je een beginnende kok vraagt om een recept te schrijven voor een gerecht dat jij al jaren maakt. Als je de kok niets vertelt over je eigen keuken, je specifieke ingrediënten of je favoriete smaakmakers, zal hij waarschijnlijk iets verzinnen dat er raar uitziet. Hij gebruikt misschien ingrediënten die je niet hebt, of vergeet een stap die cruciaal is voor de smaak.
In de softwarewereld noemen we dit "hallucineren". Een slimme computer kan code schrijven die er perfect uitziet, maar die in werkelijkheid niet werkt of fouten bevat. In de wereld van veiligheidskritische machines (zoals medische apparatuur of auto's) is dit gevaarlijk.
2. De Oplossing: De "Slimme Bibliotheek" (RAG)
De auteurs van dit papier hebben een oplossing bedacht die ze RAG noemen. Je kunt dit vergelijken met het geven van een open boek-examen in plaats van een examen uit je hoofd.
In plaats van de computer te laten raden, geven we hem een slimme bibliotheek (een kennisbank) met precies de juiste informatie:
- De handleidingen van de machine.
- De oude, bewezen recepten (bestaande tests).
- De specifieke regels van de keuken (de code van het bedrijf).
Wanneer de computer een nieuwe test moet schrijven, kijkt hij eerst in deze bibliotheek. Hij zoekt naar de juiste stukjes informatie en gebruikt die om zijn antwoord te bouwen. Hierdoor maakt hij veel minder fouten en blijft hij trouw aan de regels van het bedrijf.
3. Hoe het in de praktijk werkt (De "Snijmachine")
Om de computer de juiste informatie te geven, moeten ze de grote stapels documenten en code eerst in kleine, overzichtelijke stukjes knippen. Dit noemen ze "chunking".
- Slechte manier: Je knipt een tekst willekeurig door midden, waardoor een zin of een zinnetje in tweeën wordt gesneden. De computer raakt de draad kwijt.
- Slimme manier (AST-based): Je knipt de tekst op de natuurlijke grenzen, bijvoorbeeld na een volledige zin of een complete paragraaf. Zo blijft de betekenis intact.
De computer slaat deze stukjes op in een database. Wanneer er een nieuwe test nodig is, zoekt de computer niet alleen op woorden (zoals Google), maar ook op betekenis. Het is alsof je niet alleen zoekt op "rode auto", maar ook op "snel voertuig met rode lak".
4. De Resultaten: Van 1 naar 270 tests per uur
De proeven bij het bedrijf Hydac Software (waar deze technologie is getest) gaven fantastische resultaten:
- Snelheid: Een menselijke ingenieur maakt ongeveer 1 test per uur. Met deze nieuwe assistent kunnen ze 270 tests per uur genereren. Dat is als het verschil tussen het lopen en het vliegen.
- Kwaliteit: 100% van de gegenereerde tests was grammaticaal correct (ze "kraakten" niet). 85% werkte direct goed zonder aanpassingen.
- Tijdwinst: Voor een project met 57 eisen duurde het handmatig schrijven van tests ongeveer 57 uur. Met de assistent was dit in 19 uur klaar. Dat is een tijdwinst van 66%.
5. Wat betekent dit voor de mensen?
Je zou denken: "Maar doen ze de ingenieurs dan niet hun baan af?" Nee, integendeel.
Stel je voor dat een architect niet meer urenlang hoeft te tekenen aan de basis van een huis, maar dat een robot dat voor hem doet. De architect kan zich dan richten op de mooie details, de veiligheid en het ontwerp van de dakkapel.
Door deze slimme assistent te gebruiken, hoeven ingenieurs niet meer saai en repetitief tests te schrijven. Ze kunnen zich richten op het controleren van wat de computer heeft gemaakt, het verbeteren van de moeilijkste gevallen en het denken over hoe ze het product nog veiliger kunnen maken.
Kortom:
Dit papier laat zien dat je AI kunt gebruiken om de saaie, tijdrovende klusjes in de softwareontwikkeling over te nemen. Door de AI te koppelen aan de eigen kennis van het bedrijf, krijg je een assistent die niet alleen snel is, maar ook slim en betrouwbaar. Het is niet langer een experiment, maar een werktuig dat al in de fabriek wordt gebruikt om tijd te besparen en kwaliteit te verhogen.