Oltre alle già affascinanti conseguenze del teorema di teminazione di Turing , alcune di queste riguardano direttamente la programmazione multi-threading.
Dal teorema di terminazione deriva che non esiste un programma/tool/macchina capace di analizzare del codice e riuscire sempre e comunque a indicare se si bloccherà per deadlock oppure no.
Certo esistono tool che analizzano staticamente il codice e riescono a tracciare il grafo di allocazione delle risorse evidenziando i circuiti sul grafo, ma nulla il tool può dire se ci sono le condizioni o meno perchè a run-time questi circuiti potenziali possano accadere e causare un deadlock o meno.
Diavolo di un Turing!
Tags : Complessità | Professione | Progettazione Software |