Davvero molto interessante. Il tema della materialità del software è estremamente interessante e profondo. Anzitutto vi è la differenza fra Algoritmo nella mente del programmatore, e Programma che rappresenta lo stesso su vari formati e supporti. In quanto Informazione, l'Algoritmo è sempre immateriale: produce effetti nella realtà ed è influenzato dalla realtà sempre e solo attraverso l'essere umano che lo idea e/o conosce. Il programma invece è un Dato, una delle possibili rappresentazioni fisiche dell'Algoritmo stesso. Come rappresentazione è sempre materiale, strettamente accoppiato al supporto fisico che ne veicola la rappresentazione, indipendentemente dal formato in questione (codice sorgente, lista di patch, binario eseguibile, byte in transito su un cavo Ethernet, documentazione etc...) Tuttavia, in quanto dato, il software non produce in sé altro effetto sulla realtà a parte occupare una certa porzione di un supporto fisico. E' sempre l'hardware che interpreta il software a produrre ulteriori effetti fisici, analogamente ad un giradischi che esegue un 45 giri. Dunque sebbene il software sia materiale, la responsabilità della sua esecuzione deve essere ricondotta a chi ha potere decisionale sulla sua esecuzione su un determinato hardware in quanto è l'hardware che causerà gli effetti fisici in questione. Né può essere considerata quale giustificazione la complessità del software stesso.
è molto difficile, anziché no impossibile tastare un programma in modo esaustivo. I test, infatti, non potendo provare in maniera assoluta che non vi siano bug all'interno del programma, si limitano ad evidenziare l’esistenza di un problema che rilevano.
Va anzitutto chiarito su questo punto che si tratta in larga parte di una questione di costi / complessità. E' tecnicamente possibile dimostrare matematicamente che un software rispetti le specifiche (un esempio ben noto è il kernel seL4 https://sel4.systems/ ), ma il costo di tale dimostrazione è molto elevato e cresce in modo esponenziale con la complessità del software stesso. Essendo nel dominio del materialmente possibile, la correttezza del software diventa una questione di costi ovvero di scelta / responsabilità. Se la complessità essenziale del software è talmente elevata da rendere antieconomiche le garanzie fornite attraverso questi sistemi laddove tali verifiche sono necessarie (perché si rischiano vite umane) allora bisogna semplicemente abbandonare il progetto. Il software è in sostanza un costo di produzione come un altro. Se non è possibile sostenerlo, non va usato. E vale la pena notare come qualsiasi meccanismo che il software può realizzare, può sempre essere anche realizzato attraverso hardware specializzato. Il software infatti non fa altro che specializzare un dispositivo fisico più flessibile del software stesso (aka programmabile). Dunque nel caso del Boeing, se fosse accertato che le spiegazioni degli incidenti descritte dall'articolo fossero corrette, la responsabilità non andrebbe ricercata nel software, ma in chi ha deciso che venisse eseguito senza 1) verificarne propriamente la correttezza 2) assumere adeguate misure di sicurezza hardware Dunque la natura "prodotto o servizio" del software in questione è irrilevante in questo caso perché la responsabilità va ricercata a monte, in chi ha deciso di utilizzarlo in un proprio prodotto materiale prima (l'aereo), e non ha ritirato il prodotto per sostituirlo poi, subito dopo il primo incidente.
Non sembra assurdo parlare, quasi in termini fantascientifici con sfumature apocalittiche, di una sfida uomo-macchina. Che disgraziatamente è stata vinta dai calcolatori in entrambe le occasioni.
No, questo è fumo negli occhi. Il software qualcuno l'ha installato su quell'hardware. Se non era adatto ad esso, la responsabilità non è della macchina ma di chi l'ha prodotta. Qui non c'è alcuna sfida fra uomini e macchine. Ci sono uomini che uccidono altri uomini per denaro. Giacomo On 03/05/2019, don Luca Peyron <dluca.universitari@gmail.com> wrote:
Buona lettura per chi vorrà e buona giornata!
dl
Non sembra assurdo parlare, quasi in termini fantascientifici con sfumature apocalittiche, di una sfida uomo-macchina. Che disgraziatamente è stata vinta dai calcolatori in entrambe le occasioni.
https://www.cyberlaws.it/2019/software-responsabilita-prodotto-caso-boeing/ _________________________ www.universitari.to.it via XX settembre 83, Torino tel. 011 5156239