Managed hosting door True

Minder fouten in features door delta modelling

 

Bij het programmeren van nieuwe features in software worden makkelijk veel fouten gemaakt. De code van meerdere features grijpt vaak in op dezelfde plek, en zo kan de code van de ene feature soms ongemerkt die van een andere overschrijven. Hierdoor ontstaan bugs, die ertoe leiden dat software later op de markt komt en duurder is. Michiel Helvensteijn, promovendus van het Centrum Wiskunde & Informatica (CWI) te Amsterdam, onderzocht manieren om dit soort fouten te voorkomen.

Op 12 november promoveerde Michiel Helvensteijn aan de Universiteit Leiden op zijn proefschrift 'Abstract Delta Modeling -  Software Product Lines and Beyond'. De resultaten zijn interessant voor software engineers en de industrie. 

Software wordt steeds groter en wordt ook door steeds meer ontwikkelaars gemaakt, waardoor het steeds moeilijker uit te breiden is. Om te voorkomen dat de software te complex wordt, moeten features idealiter elk tot één module worden samengevoegd, zodat code van verschillende features netjes gescheiden is. In realiteit moet code juist over verschillende locaties in de software worden verspreid en gemixt met die van andere features. Helvensteijn ontwikkelde samen met collega’s de formele methode van 'abstract delta modelling' (adm) om dit probleem te kunnen lossen.

Demonstratie

De promovendus liet bijvoorbeeld zien hoe een feature met één deltamodule geformuleerd kan worden. Zo’n deltamodule verandert bestaande code van buitenaf en geeft aan welke code waar neergezet moet worden of welke bestaande code aangepast moet worden. Helvensteijn maakte het mogelijk dat ontwikkelaars relaties tussen delta's kunnen aangegeven, zoals welke delta een andere mag overschrijven. Daarnaast ontwierp hij een conflictoplossend model. Helvensteijn: 'Als geen van de delta’s 'de baas' is, krijgt de ontwikkelaar nu een duidelijke foutmelding, terwijl in eerdere technieken de ene module stilletjes de code van de ander kon overschrijven. Als ontwikkelaars deze methode voor conflict resolution volgen, scheelt het hun veel bugs. De software is dan modulair en makkelijk te onderhouden.'

De promovendus vervolgt: 'Software product line engineering heeft hier in het bijzonder veel bij te winnen. Hierin kan dezelfde code-base gebruikt worden voor softwaresystemen die elk een ander maar vaak overlappende verzameling features hebben. Een specifiek systeem kan dan gegenereerd worden door een selectie van features te maken: 'automated product derivation'. Abstract delta modelling' kan hier helpen om de code 'componeerbaar' te maken, bijvoorbeeld voor meerdere software edities.' De nieuwe methode is in de praktijk getest. Het promotieonderzoek is mede gefinancierd door het EU HATS-project, waarin onderzoeksorganisaties en de industrie samenwerken aan software-variabiliteit. Software is een van de speerpunten van het Centrum Wiskunde & Informatica (CWI), waar het onderzoek is uitgevoerd. 

Dit artikel is afkomstig van Channelweb.nl (https://www.channelweb.nl/artikel/5198330). © Jaarbeurs IT Media.

?

 

Stuur door

Stuur dit artikel door

Je naam ontbreekt
Je e-mailadres ontbreekt
De naam van de ontvanger ontbreekt
Het e-mailadres van de ontvanger ontbreekt

×
×
Wilt u dagelijks op de hoogte worden gehouden van het laatste ict-nieuws, achtergronden en opinie?
Abonneer uzelf op onze gratis nieuwsbrief.