Overslaan en naar de inhoud gaan

CWI zet programmeertalen in gelid

Fouten die worden veroorzaakt door dubbelzinnigheden zijn heel lastig te vinden en het is doorgaans ook erg kostbaar om ze te repareren. Promovendus Bas Basten van het Centrum Wiskunde & Informatica (CWI) in Amsterdam ontwierp nieuwe tools en technieken om zulke ambiguïteiten te vinden. Volgende week verdedigt hij zijn proefschrift 'Ambiguity Detection for Programming Language Grammars' aan de Universiteit van Amsterdam.
Carriere
Shutterstock
Shutterstock

De tools van Basten voeren een analyse uit op de 'grammatica' van programmeertalen. Die controle kan wel 1000 keer sneller gaan in vergelijking met bestaande technieken. Met het resultaat van een analyse kan een software engineer goed uit de voeten. Probleemgebieden zijn al van te voren bekend en die kunnen vermeden worden.

Meneer van Dalen...

De analyse heeft veel weg van het vroeger veel gebruikte ezelsbruggetje 'Meneer Van Dalen wacht op antwoord'. Dat duidde de volgorde aan waarin rekenkundige bewerkingen moesten worden uitgevoerd: machtsverheffen, vermenigvuldigen en delen, worteltrekken en dan pas optellen en aftrekken. De som 2+4*3 is volgens de rekenregels gelijk aan 2+(4*3)=14, maar wie de regel niet kent, kan uitkomen op het antwoord (2+4)*3 = 18.

Als het voor een computer niet duidelijk is welke handeling hij eerst moet doen, dan kan er 'spraakverwarring' tussen de programmeur en de computer optreden, waardoor er fouten in de software kunnen ontstaan. Het is daarom belangrijk dat alle dubbelzinnigheden worden opgelost voordat een taal in gebruik wordt genomen. Omdat er oneindig veel combinaties van operatoren zoals + en * bestaan, gebeurt het regelmatig dat makers van nieuwe programmeertalen een dubbelzinnige combinatie over het hoofd zien bij het ontwerp.

Gerelateerde artikelen
Gerelateerde artikelen

Reacties

Om een reactie achter te laten is een account vereist.

Inloggen Word abonnee

Melden als ongepast

Door u gemelde berichten worden door ons verwijderd indien ze niet voldoen aan onze gebruiksvoorwaarden.

Schrijvers van gemelde berichten zien niet wie de melding heeft gedaan.

Bevestig jouw e-mailadres

We hebben de bevestigingsmail naar %email% gestuurd.

Geen bevestigingsmail ontvangen? Controleer je spam folder. Niet in de spam, klik dan hier om een account aan te maken.

Er is iets mis gegaan

Helaas konden we op dit moment geen account voor je aanmaken. Probeer het later nog eens.

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in