Abduzione
Un ragionamento viene detto deduttivo, quando si conoscono le premesse e le regole (o leggi) e si intende ricavare il risultato o l’esito.Questo tipo di logica (vedi i sillogismi di Aristotele) si applica quando si vuole sapere quali risultati si ottengono applicando delle leggi conosciute. Se tutte le operazioni previste sono state svolte correttamente, le risposte che si ottengono sono sempre certe e sicure e per questo motivo molti sostengono che la logica deduttiva non porta mai a delle novità in quanto i risultati ottenuti sono già impliciti nelle premesse.
Deduzione
Segue un ragionamento certo e valido.
Struttura:
Premessa: Il file program contiene la firma \x7FELF.
Regola: Tutti i file ELF validi iniziano con la firma 0x7F 45 4C 46 (\x7FELF).
Conclusione: il file program è un eseguibile ELF.
Il ragionamento deduttivo non aumenta la conoscenza; d'altro canto però le conclusioni sono vere.
Un ragionamento viene detto induttivo quando si conoscono le premesse e i risultati e si intende ricostruire le regole. Questo tipo di logica è tipica di chi, come ad esempio gli scienziati, vuole risalire a una legge naturale osservando quale risultato è stato ottenuto a partire da certe situazioni o premesse iniziali conosciute. La legge che si ottiene non è sicura in assoluto, ma solo probabile (vedi anche Bayes)
Induzione
Struttura:
Premessa 1: bash è un eseguibile ELF e ha sezioni .text, .data e .bss.
Premessa 2: ls è un eseguibile ELF e ha sezioni .text, .data e .bss.
Premessa 3: nano è un eseguibile ELF e ha sezioni .text, .data e .bss.
Conclusione (probabile): Tutti gli eseguibili ELF hanno sezioni .text, .data e .bss.
Il ragionamento induttivo permette di allargare la nostra conoscenza mediante un processo di generalizzazione: l'induzione però può essere soggetta ad errori.
Un ragionamento viene detto abduttivo, quando si conoscono regole e risultati e si intende ricostruire le premesse. Questo tipo di logica è propria di chi cerca, come ad esempio un medico o un investigatore, di ricostruire una situazione iniziale, conoscendo il risultato che è stato ottenuto per effetto di una legge nota. Anche in questo caso la situazione iniziale che si ricostruisce non è mai certa ma valida solo con un dato livello di probabilità.
Abduzione
Struttura:
Conclusione osservata: Quando provo a eseguire my_program, ottengo l'errore:
bash: ./my_program: cannot execute binary file: Exec format error
Regola nota: Se un file non è in formato ELF valido per l’architettura corrente, si verifica questo errore.
Premessa ipotizzata: Forse my_program non è un ELF valido o è compilato per un'architettura diversa.
Il ragionamento abduttivo tende a fornire ipotesi esplicative. Ovviamente anche l'abduzione non è esente da errori.
L'abduzione coincide con il metodo ipotetico sperimentale che caratterizza la scienza moderna da Galilei in poi. Le conclusioni a cui arriva l'abduzione non sono mai definitive, ma aprono la strada a nuove ricerche e a nuove conclusioni secondo il modello di approssimazione progressiva alla realtà che caratterizza il metodo scientifico.
La chiave concettuale del reverse engineering si chiama abduzione, uno schema di ragionamento teorizzato dal logico Charles Peirce: partire da un dato risultato, alla luce di leggi note, per ricostruire le cause di quel risultato. È il modo di procedere tipico degli investigatori o della medicina diagnostica.
L'abduzione è il processo di formazione d'ipotesi esplicative. È l'unica operazione logica che introduce una nuova idea, in quanto l'induzione non fa che determinare un valore e la deduzione sviluppa semplicemente le conseguenze necessarie di una pura ipotesi. La deduzione trova che qualcosa deve essere; l'induzione mostra che qualcosa è realmente operativa; l'abduzione meramente suggerisce che qualcosa può essere;
Nella risoluzione di problemi complessi non si ricorre mai ad un solo tipo di logica. In particolare per considerare se determinate ipotesi scaturite da ragionamenti induttivi o abduttivi possono essere considerate attendibili, è necessario sottoporle a dei controlli di tipo deduttivo e a corroborarle mediante seri tentativi di falsificazione;