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.
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.
Met een nieuwe Google-functie bepaal je nu zelf welke bronnen je als eerste ziet wanneer je zoekt. Zo mis je nooit meer het laatste nieuws van AG Connect.
Reacties
Om een reactie achter te laten is een account vereist.
Inloggen Word abonnee