3 aprile 2016 - 17:20

Debugging

Definiamo debugging di un programma il controllo volto ad accertare che che esso giunga effettivamente a un risultato finale invece di entrare in un ciclo senza fine : l'effetto che si presenta  come " blocco " del computer in presenza di software difettoso.  Domanda : può essere un programma ad effettuare il debugging dei programmi  ? A quale immenso matematico vi riferite per rispondere ? ( Indizio : siamo nel 1936 )

E anche per questa settimana ho concluso. Alla prossima. wm

La risposta è no.

Nel 1936 Alan Turing riuscì a dimostrare, tramite un complesso ragionamento, che una "Macchina di Turing" non può analizzare un'altra "Macchina di Turing" e capire se il programma (algoritmo) che regola quella macchina termina o continua all'infinito. Il problema infatti non è rappresentabile tramite un algoritmo, quindi non è Turing-calcolabile.