Overslaan en naar de inhoud gaan

CWI herstelt fundamentele fout in Java

Stijn de Gouw van de CWI-onderzoeksgroep Formal Methods wilde de correctheid van TimSort bewijzen, en toen stuitte hij op de fout. De bug in kwestie kan een gevaar vormen voor de veiligheid van een systeem. Wanneer kwaadwillende de bug gebruikenom een applicatie te laten crashen, ontstaat een situatie waarin zij eventueel de besturing kunnen overnemen.
Tech & Toekomst
Shutterstock
Shutterstock

Android

De Gouw diende een bug-report in met een verbeterde versie. Dat rapport is inmiddels geaccepteerd. Deze versie van TimSort wordt gebruikt door Android. Java wordt heel vaak gebruikt voor serversoftware, internet-gebaseerde bankdiensten en games. De taal is aantrekkelijk voor ontwikkelaars, omdat zij niet veel code zelf hoeven te bedenken maar gebruik kunnen maken van libraries. Als daar een fout in zit, betekent dat dat die fout op zeer veel plekken voor gaat komen.

Techniek

Het sorteeralgoritme TimSort is onderdeel van de java.util.Arrays en java.util.Collections libraries. Het is genoemd naar de maker, Tim Peters, die het in 2002 ontwierp voor de programmeertaal Python, waar het nu het standaard sorteeralgoritme is. De sorteerfunctie wordt vaak gebruikt, bijvoorbeeld bij de analyse van data. De Gouw ontdekte dat een eerder voorgestelde fix van de fout niet goed was. Hierdoor kunnen programma’s crashen bij een grote invoer die op een bepaalde manier is gesorteerd.

Ervaringen gedeeld

Inmiddels is er een blogpost verschenen waarin p[recies wordt uitgelegd wat de aard van de folut is en hoe deze uit de wereld is geholpen. Dit blogbericht is de eerste dag dat het online stond al minstens 70.000 keer bekeken.

Gerelateerde artikelen
Gerelateerde artikelen

Reacties

Om een reactie achter te laten is een account vereist.

Inloggen Word abonnee

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