Computable.nl
  • Thema’s
    • Carrière
    • Innovatie & Transformatie
    • Cloud & Infrastructuur
    • Data & AI
    • Governance & Privacy
    • Security & Awareness
    • Software & Development
    • Werkplek & Beheer
  • Sectoren
    • Channel
    • Financiële dienstverlening
    • Logistiek
    • Onderwijs
    • Overheid
    • Zorg
  • Computable Awards
    • Overzicht
    • Nieuws
    • Winnaars
    • Partner worden
  • Vacatures
    • Vacatures bekijken
    • Vacatures plaatsen
  • Bedrijven
    • Profielen
    • Producten & Diensten
  • Kennisbank
  • Nieuwsbrief
Bug

CWI verhelpt bug in Java met formele methoden

26 februari 2015 - 09:38ActueelOverheidCWI
Rik Sanders
Rik Sanders

Onderzoekers van het Centrum Wiskunde & informatica (CWI) in Amsterdam hebben een bug gefixt in de veelgebruikte objectgerichte programmeertaal Java. Het gaat om een fout in een veel toegepast sorteeralgoritme, Timsort, waardoor programma’s konden crashen. De fout was al in 2013 bekend maar nog nooit goed opgelost. Voor de verbeterde oplossing is de open source verificatietool KeY gebruikt.

Toen onderzoeker Stijn de Gouw van de CWI-onderzoeksgroep Formal Methods de correctheid van Timsort wilde bewijzen, stuitte hij op de fout, die een gevaar kan zijn voor de beveiliging. Hij diende een bug report in met een verbeterde versie. Dat rapport is inmiddels geaccepteerd. Deze versie van Timsort wordt gebruikt door Android.

Java wordt onder meer gebruikt voor serversoftware, internet-gebaseerde bankdiensten en bijvoorbeeld in computerspellen als Minecraft. De programmeertaal wordt zo vaak gebruikt, omdat het veel support biedt in de vorm van bibliotheken (libraries). Zo hoeven ontwikkelaars bijvoorbeeld niet zelf een functie te verzinnen om data te sorteren; die kunnen ze uit de library-support halen.

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.

Niet crashen

Voor zijn onderzoek gebruikte De Gouw KeY, een open source verificatietool, om de mechanische correctheid te bewijzen van Timsort. Daarna ontwierp hij een correctie, met behoud van prestatie (performance). Volgens Frank de Boer, groepsleider van de Formal Methods-groep, is het een van de zwaarste bewijzen die tot nu toe zijn uitgevoerd om de correctheid van een bestaande Java-library aan te tonen: het had ruim twee miljoen bewijsregels en duizenden handmatige stappen nodig. ‘Bij zo’n belangrijke taal als Java is het cruciaal dat software niet crasht. Dit resultaat geeft goed het belang aan van formele methoden voor de maatschappij.’

Het onderzoek werd mede-gefinancierd door het EU-project Envisage. Software is een van de speerpunten van het CWI, waar het onderzoek is uitgevoerd.

Meer over

BesturingssystemenJava

Deel

    Inschrijven nieuwsbrief Computable

    Door te klikken op inschrijven geef je toestemming aan Jaarbeurs B.V. om je naam en e-mailadres te verwerken voor het verzenden van een of meer mailings namens Computable. Je kunt je toestemming te allen tijde intrekken via de af­meld­func­tie in de nieuwsbrief.
    Wil je weten hoe Jaarbeurs B.V. omgaat met jouw per­soons­ge­ge­vens? Klik dan hier voor ons privacy statement.

    Whitepapers

    Computable.nl

    Slimme toegang vs. onzichtbare cyberrisico’s in de Zorg

    In zorginstellingen is een constante stroom van personeel, patiënten en bezoekers. Maar hoe zorg je ervoor dat gevoelige gebieden beschermd blijven zonder de dagelijkse gang van zaken te verstoren? Hoe herken je eventuele zwakke plekken in het netwerk?

    Computable.nl

    In detail: succesvolle AI-implementaties

    Het implementeren van kunstmatige intelligentie (AI) biedt enorme kansen, maar roept ook vragen op. Deze paper beschrijft hoe je als (middel)grote organisatie klein kunt starten met AI en gaandeweg kunnen opschalen.

    Computable.nl

    Cybercrime Trendrapport 2024

    Een uitgebreide paper over de nieuwste bedreigingen en ruim 50 best-practices in beveiliging.

    Meer lezen

    Computable.nl
    ActueelCarrière

    Bedrijfscultuur belangrijk voor Java-specialist

    Computable.nl
    ActueelInnovatie & Transformatie

    CWI berekent straks oogst per vierkante meter

    Oracle
    ActueelSoftware & Development

    Oracle introduceert Java 8

    ActueelSoftware & Development

    Google komt met Javascript-aanvulling Dart

    ActueelCloud & Infrastructuur

    CWI viert 25 jaar internet

    Aanval
    ActueelCloud & Infrastructuur

    ‘Grootste dreiging komt uit hoek Java en Android’

    Geef een reactie Reactie annuleren

    Je moet ingelogd zijn op om een reactie te plaatsen.

    Populaire berichten

    Meer artikelen

    Footer

    Direct naar

    • Carrièretests
    • Kennisbank
    • Planning
    • Computable Awards
    • Magazine
    • Abonneren Magazine
    • Cybersec e-Magazine

    Producten

    • Adverteren en meer…
    • Jouw Producten en Bedrijfsprofiel
    • Whitepapers & Leads
    • Vacatures & Employer Branding
    • Persberichten

    Contact

    • Colofon
    • Computable en de AVG
    • Service & contact
    • Inschrijven nieuwsbrief
    • Inlog

    Social

    • Facebook
    • X
    • LinkedIn
    • YouTube
    • Instagram
    © 2025 Jaarbeurs
    • Disclaimer
    • Gebruikersvoorwaarden
    • Privacy statement
    Computable.nl is een product van Jaarbeurs