Bug (technologie)

Een softwarebug is een probleem met de code in een computerprogramma, waardoor het niet goed werkt. Ze kunnen ongemak veroorzaken voor de gebruiker en ervoor zorgen dat de computer vastloopt of bevriest. De meeste computerprogramma's hebben bugs. Een programma dat een groot aantal bugs heeft (of mogelijk één of enkele ernstige bugs) wordt buggy genoemd.

De meeste bugs worden veroorzaakt door slecht programmeren van de ontwikkelaar, maar soms kunnen ze worden veroorzaakt door problemen met de compiler. Wanneer bugs worden gevonden, sturen mensen bugrapporten naar de ontwikkelaar om hem over de bug te vertellen en hem de bug te laten oplossen.

Soms zeggen mensen dat hun computer een bug heeft als er iets mis mee is. Het probleem wordt meestal veroorzaakt door een computervirus dat hun computer heeft geïnfecteerd en hem traag maakt of andere dingen laat doen.

Sommige bugs zijn onschadelijk, bijvoorbeeld dat veel videospelletjes objecten ten onrechte door muren laten bewegen. Andere bugs zijn ernstiger, bijvoorbeeld een bug in een navigatiesysteem waardoor een vliegtuig ontploft.



Soorten bugs

Buffer overflow

Een bufferoverloop doet zich voor wanneer een programma schrijft naar of leest uit een deel van het geheugen dat het niet mag gebruiken.

Rekenkundige overflow

Een rekenkundige overflow doet zich voor wanneer een getal in een variabele groter wordt dan het hoogste getal dat de variabele toelaat. Dit zal er gewoonlijk toe leiden dat het getal wordt teruggezet op nul.

Oneindige lus

Een oneindige lus ontstaat wanneer een programma in een lus terechtkomt (een reeks instructies die vele malen wordt herhaald) en er geen uitweg uit de lus is. Hierdoor kan het programma bevriezen.

Afrondingsfouten

Als een variabele met drijvende komma niet nauwkeurig genoeg is, kan het getal dat erin wordt opgeslagen onnauwkeurig zijn. Dit kan verschillende problemen veroorzaken, afhankelijk van het soort programma, bijvoorbeeld een navigatieprogramma dat naar een onbedoelde locatie navigeert, of vervormd geluid in een audio-opname-programma.

Delen door nul

Delen door nul is een ongeldige rekenkundige bewerking. Als een programma een geheel getal deelt door nul, zal het crashen. Op Linux verschijnt de melding "floating point exception" wanneer deze fout optreedt, ook al waren er geen drijvende komma getallen bij betrokken. Floating point wiskunde staat soms deling door nul toe. Dit resulteert meestal in een speciale "niet een getal" waarde.

Problemen met knippen

In videospelletjes treden clipping-problemen, ook botsingsdetectieproblemen genoemd, op wanneer een voorwerp door een barrière (zoals een muur, vloer of plafond) gaat waar het niet doorheen had moeten gaan. Dit is een veel voorkomende fout die in veel videospellen voorkomt. Dit kan bijvoorbeeld gebeuren in Doom 2 wanneer een verpletterd monster weer tot leven wordt gewekt door een aartsvijand. Clipping problemen kunnen vaak worden gebruikt als een tijdbesparende tactiek in speedruns, bijvoorbeeld in Super Mario 64 is het mogelijk om het lopen op de wenteltrap in het kasteel over te slaan door door het plafond te springen.

Beveiligings bugs

Beveiligingsfouten zijn fouten die een indringer in staat stellen toegang tot de computer te krijgen, of de computer te laten crashen. Het laten crashen van de computer wordt een denial-of-Service aanval genoemd. Beveiligingsbugs worden als bijzonder belangrijk beschouwd om te herstellen omdat ze indringers in staat kunnen stellen belangrijke informatie te stelen, zoals creditcardnummers of wachtwoorden. Voorbeelden van beveiligingsinfecties zijn Heartbleed en Shellshock.



Misbugs

Een misbug is een bug die als functie wordt gebruikt. Een voorbeeld hiervan is een bug in een Android-telefoon die gebruikers in staat stelt root-toegang te verkrijgen.



Hardware fouten

Sommige bugs hebben invloed op de hardware (de fysieke onderdelen van een computer) in plaats van op de software. Bijvoorbeeld, het uitvoeren van de instructie lock cmpxchg8b eax op oude Pentium processoren zou ertoe leiden dat de processor stopt met werken totdat deze opnieuw wordt opgestart. Aangezien bugs in hardware fysieke ontwerpfouten zijn, kunnen ze niet worden gecorrigeerd met een software-update, hoewel het mogelijk kan zijn om de bug te omzeilen (verbergen) met een software-update.



Vragen en antwoorden

V: Wat is een softwarebug?


A: Een softwarebug is een probleem met de code in een computerprogramma waardoor het niet correct werkt.

V: Wat zijn de gevolgen van een softwarebug?


A: Een softwarebug kan de gebruiker ongemak bezorgen en ervoor zorgen dat zijn computer vastloopt of bevriest.

V: Hebben alle computerprogramma's bugs?


A: Ja, de meeste computerprogramma's hebben bugs.

V: Wat is een programma met bugs?


A: Een programma met bugs is een programma met een groot aantal bugs, of mogelijk één of enkele ernstige bugs.

V: Wie is verantwoordelijk voor de meeste bugs in computerprogramma's?


A: De meeste bugs worden veroorzaakt door slecht programmeren door de ontwikkelaar, maar soms kunnen ze veroorzaakt worden door problemen met de compiler.

V: Wat doen mensen als ze een bug in een computerprogramma vinden?


A: Wanneer er bugs gevonden worden, sturen mensen bugrapporten naar de ontwikkelaar om hen over de bug te vertellen en hen de bug te laten oplossen.

V: Wat bedoelen mensen als ze zeggen dat hun computer een bug heeft?


A: Als mensen zeggen dat hun computer een bug heeft, bedoelen ze meestal dat er iets mis mee is, wat meestal veroorzaakt wordt door een computervirus dat hun computer geïnfecteerd heeft en hem traag maakt of andere dingen laat doen.

AlegsaOnline.com - 2020 / 2023 - License CC3