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.7 november (online seminar op 1 middag)Praktische tutorial met Alec Sharp Alec Sharp illustreert de vele manieren waarop conceptmodellen (conceptuele datamodellen) procesverandering en business analyse ondersteunen. En hij behandelt wat elke data-pr...
18 t/m 20 november 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 ...
De DAMA DMBoK2 beschrijft 11 disciplines van Data Management, waarbij Data Governance centraal staat. De Certified Data Management Professional (CDMP) certificatie biedt een traject voor het inleidende niveau (Associate) tot en met hogere niveaus van...
3 april 2025 (halve dag)Praktische workshop met Alec Sharp [Halve dag] Deze workshop door Alec Sharp introduceert conceptmodellering vanuit een non-technisch perspectief. Alec geeft tips en richtlijnen voor de analist, en verkent datamodellering op c...
10, 11 en 14 april 2025Praktische driedaagse workshop met internationaal gerenommeerde spreker Alec Sharp over herkennen, beschrijven en ontwerpen van business processen. De workshop wordt ondersteund met praktijkvoorbeelden en duidelijke, herbruikba...
Alleen als In-house beschikbaarWorkshop 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 basisfunc...
Deel dit bericht