Definizione di bug (informatica)
Varie / / July 04, 2021
Di Guillem Alsina González, in Jan. 2017
I primi computer moderni non erano esattamente piccoli, né funzionavano allo stesso modo, ma basati su parti meccaniche ed elettroniche più grandi.
Ci troviamo, in termini temporali, durante la seconda guerra mondiale, e più precisamente nel 1944, quando la computer Il Mark II (costruito da IBM ad Harvard) ha subito un guasto in un relè elettromagnetico, all'epoca componente principale di un computer.
Aprendo il computer e cercando il relè interessato, i responsabili hanno scoperto che una falena (in inglese, bug) si era insinuato nel sistema, urtando contro il relè, che era rimasto aperto
Da allora, ogni volta che si verificava un qualche tipo di errore in detto computer, gli scienziati incaricati della sua gestione iniziarono a parlare di a bug, un termine che ha fatto fortuna per riferirsi a tutti i tipi di problemi ed errori che hanno impedito il normale funzionamento di hardware
Nel tempo e la maggiore affidabilità del hardware parallelamente alla sua miniaturizzazione, la maggior parte dei problemi subiti dai computer Sono rimasti nella sezione software, anche se il bug del nome ha fatto una fortuna per nominarli errori
Come dobbiamo intendere un bug nel senso moderno del termine? Beh, semplicemente, come un fallimento al momento della programmazione, che dà origine a una parte del codice sorgente contenente un errore essenziale, che causa problemi di runtime al programma risultante.
I bug possono portare a problemi ricorrenti fintanto che il Nome utente fa una serie di cose, o quando ci sono una serie di circostanze che non si ripetono sempre quando si fanno le stesse cose nello stesso ordine, ma dipendono da fattori esterno al programma.
Così, ad esempio, possiamo avere conflitti tra un programma e un altro programma caricato in memoria, ma che il problema si verifica quando abbiamo fatto una serie di cose con entrambe le applicazioni.
Tra i bug più comune nella programmazione abbiamo la divisione per zero, buffer overflow, violazione della memoria, errori nelle operazioni con trattamento non contemplato nel programma, accesso errato alle variabili, ...
Gli strumenti di programmazione Tendono a offrire soluzioni per rilevare e correggere questi problemi, rivedendo prima il codice sorgente e applicando regole logiche (ad esempio, se si accede a una variabile prima dichiararlo e definirne la tipologia), e poi attraverso strumenti di test del codice che ci permettono di giocare con i valori inseriti ed esaminare i record con informazioni da esecuzione.
Questo processo si chiama "eseguire il debug”, Dal termine inglese eseguire il debug (pulire da bug).
Il lato più oscuro dei bug è che possono aprire la porta all'esecuzione malware sul sistema che esegue il programma interessato
Poiché una volta che l'errore è stato causato, ci sono modi per sfruttare il problema causato nel sistema operativo eseguire codice arbitrario iniettato dall'esterno.
Se a questo aggiungiamo i privilegi che si possono guadagnare nel sistema, abbiamo un potenziale Pericolo molto grave che è stato sfruttato in moltissime occasioni dai criminali informatici per accedere a sistemi di terze parti.
Foto: Fotolia - selcuk kırbız / gustavofrazao
Argomenti in Bug (Informatica)