De Radboud Universiteit Nijmegen gaat computers leren om het gedrag van software te voorspellen door ermee te spelen op een vergelijkbare manier zoals mensen doen. Deze 'leertechnologie' kan onder meer worden gebruikt om software te testen waarvan geen goede documentatie beschikbaar is. Technologiestichting STW steunt het onderzoek met een subsidie van 400.000 euro.
'Mensen slagen er vaak in om het gedrag van een apparaat of computerprogramma te leren puur door op knoppen te drukken en het resulterende gedrag te observeren', staat in het onderzoeksvoorstel dat hoogleraar Frits Vaandrager indiende bij technologiestichting STW. In zijn onderzoek wil hij computers hetzelfde leren.
Zijn onderzoeksgroep wil leertechnologie ontwikkelen, waarmee computers modellen van bestaande software kunnen bouwen. Die modellen kunnen worden gebruikt om software te testen, waaronder legacy-software. Zo kan worden gecontroleerd of legacy-code correct is en of software-aanpassingen problemen zullen opleveren.
Legacy-software
Dat zou een grote vooruitgang betekenen, zo leggen de onderzoekers uit in hun voorstel. 'In de praktijk bestaat 80 procent van de ontwikkelde code uit legacy, waar enkel gebrekkige documentatie voor beschikbaar is. Handmatige constructie van legacy-modellen is meestal erg arbeidsintensief en vaak niet kostenefficiënt. Het is daarom essentieel om modellen te verkrijgen van bestaande softwarecomponenten.'
Dat zou een hoop werk schelen: 'De constructie van softwaremodellen vereist meestal specialistische expertise, is tijdsintensief en gaat gepaard met veel handmatige inspanning. Dat impliceert dat in de praktijk modellen vaak niet beschikbaar zijn of dat ze achterhaald raken naarmate het systeem zich ontwikkelt.'
Axini TestManager
Om zover te komen wil de groep van Vaandrager bestaande industriële software bestuderen. Het gaat daarbij bijvoorbeeld om 'systemen voor veilige transacties zoals elektronisch betalen, internetprotocollen (NLnet Labs), besturingssoftware voor printers (Océ) en draadloze sensornetwerken (Chess).'
De onderzoeksgroep wil de leertechnologie integreren met de Axini TestManager, een commercieel softwarepakket voor modelgebaseerd testen.
Machine learning
Het onderzoek is nodig omdat bestaande rekenregels niet geschikt zouden zijn om modellen te bouwen van bestaande software. Volgens de onderzoeksgroep houden deze geen rekening met alle parameters die in de praktijk van invloed zijn op software.
Vaandrager wil daarom kennis uit onder meer de testtheorie, machine learning en computerondersteunde verificatie met elkaar combineren. De hoogleraar leidt de vakgroep Model Based System Development (MBSD) aan het instituut voor Computing en Information Sciences (ICIS) van de Radboud Universiteit Nijmegen.