Ontleden en 'termherschrijven' met de programmeertaal ASF+SDF.
Broncode van software kan sneller en goedkoper worden aangepast aan de eisen van deze tijd door het gebruik van 'generieke taaltechnologie'. Deze methode kan automatisch taken uitvoeren die onderhoudsprogrammeurs tot nu toe met de hand moesten doen. Jurgen Vinju, onderzoeker van het Centrum voor Wiskunde en Informatica (CWI) in Amsterdam, promoveert op dit onderwerp op 15 november aan de Universiteit van Amsterdam, op het proefschrift 'Analysis and Transformation of Source Code by Parsing and Rewriting'.Bedrijven investeren graag in het onderhoud van de broncode van bestaande software, omdat dit goedkoper is dan het ontwerpen van nieuwe software. Sommige softwarecode wordt al veertig jaar gebruikt. Het is belangrijk dat deze code vlekkeloos blijft werken en tegelijkertijd leesbaar blijft voor onderhoudsprogrammeurs. Banken hebben bijvoorbeeld miljoenen regels code. Het onderhoud daarvan is duur aan menskracht en het werk is saai. Een deel van dit onderhoudswerk kan nu automatisch gedaan worden. Dit vereist een goed inzicht in de structuur van het programma.Vinju baseerde zijn systeem op de technieken van ontleden en 'termherschrijven' met de programmeertaal ASF+SDF, die gebruikt wordt in de softwarerenovatie. Hij onderzocht ook hoe je de automatisering zo beknopt en begrijpelijk mogelijk opschrijft. Een programmeertaal zoals Java heeft honderden taalconstructies waarvan er maar een paar gebruikt worden tijdens het uitvoeren van specifiek automatisch onderhoud. Eerdere systemen moesten met alle constructies rekening houden. Analyse en aanpassing kunnen nu beknopter worden gedefinieerd. Het resultaat van Vinju’s onderzoek is een verbeterde versie van ASF+DSF.Tot nu toe was de kwaliteit van een automatisch gegenereerd eindproduct niet zo goed als dat van menselijke programmeurs. Oude systemen gooiden bijvoorbeeld al het commentaar weg, waardoor de software onleesbaar was. Ook de lay-out en uitlijning gingen verloren, doordat alles in één lange regel werd genoteerd. Voor herkenning door mensen zijn deze elementen juist heel belangrijk. Het eindproduct moet voldoen aan de eisen die mensen daaraan stellen, niet machines. Jurgen Vinju breidde daarom het bestaande onderhoudssysteem uit met het behoud van lay-out en commentaar. Dit is niet triviaal, omdat de structuur van een programma tijdens het updaten verandert, zodat niet meteen duidelijk is op welke plek oud commentaar neergezet moet worden.Doordat het nieuwe systeem kostenbesparend is, biedt het volgens Vinju mogelijkheden om onderhoud van software niet te outsourcen naar een ander bedrijf of land. "Het voordeel is dat de kennis over het systeem dan in huis blijft," zegt de onderzoeker. "Je hebt zo meer controle over het systeem doordat er minder kans op miscommunicatie is."Het onderzoek is deels gefinancierd door het ICT-Doorbraakproject CaLCE van SenterNovem. CaLCE is een samenwerkingsverband tussen het CWI, de Vrije Universiteit Amsterdam (VU), Getronics PinkRoccade en de Software Improvement Group. Vinju paste – in samenwerking met de VU – de nieuwe technologie toe op praktijkcases van industriële partners.16 mei 2024 Praktische en interactieve workshop met Nigel Turner Data-gedreven worden lukt niet door alleen nieuwe technologie en tools aan te schaffen. Het vereist een transformatie van bestaande business modellen, met cultuurverandering, een heront...
29 - 31 mei 2024Praktische driedaagse workshop met internationaal gerenommeerde spreker Alec Sharp over herkennen, beschrijven en ontwerpen van business processen. De workshop wordt ondersteund met praktijkvoorbeelden en duidelijke, herbruikbare rich...
3 t/m 5 juni 2024Praktische workshop met internationaal gerenommeerde spreker Alec Sharp over het modelleren met Entity-Relationship vanuit business perspectief. De workshop wordt ondersteund met praktijkvoorbeelden en duidelijke, herbruikbare richtl...
10 t/m 12 juni 2024 Praktische workshop Data Management Fundamentals door Chris Bradley - CDMP-examinatie optioneel De DAMA DMBoK2 beschrijft 11 disciplines van Data Management, waarbij Data Governance centraal staat. De Certified Data Managem...
15 oktober 2024 Workshop met BPM-specialist Christian Gijsels over AI-Gedreven Business Analyse met ChatGPT. Kunstmatige Intelligentie, ongetwijfeld een van de meest baanbrekende technologieën tot nu toe, opent nieuwe deuren voor analisten met i...
28 november 2024Workshop met BPM-specialist Christian Gijsels over business analyse, modelleren en simuleren met de nieuwste release van Sparx Systems' Enterprise Architect, versie 16.Intensieve cursus waarin de belangrijkste basisfunctionaliteiten v...
Deel dit bericht