top of page
  • Immagine del redattoreElvis Informatico

Being reverse engineered

Aggiornamento: 6 apr 2020

Cosa vuol dire reverse engineering (ingegneria inversa)? Cercando il termine su Google, i primi due risultati sono su Wikipedia e sul sito reverseengineering.it, prendiamo la definizione da quest'ultimo:


"Il reverse engineering (ingegneria inversa) è un processo che, tramite una scansione 3D e la conseguente elaborazione da parte di un software CAD, permette di digitalizzare un oggetto fisico. Tramite questo processo è possibile replicare o modificare tale oggetto, ma anche realizzare un nuovo prodotto che si interfacci con esso"


In questo caso, si tratta di un'azienda di design aziendale, che partendo da un oggetto finito ed attraverso scansioni 3D, riesce a ricavare i modelli matematici che ne hanno permesso la realizzazione. Ciò consente di migliorare il prodotto finito, re-ingegnerizzarlo, od usarlo come punto di partenza per nuove e più evolute creazioni. Sostanzialmente, si realizza qualcosa di migliore partendo da qualcosa di già finito, studiandolo attentamente e cercando di capire solamente a valle del processo di produzione qual è la logica utilizzata per realizzarlo. Per quanto possa sembrare moderno ed evoluto, questo concetto è riscontrabile in moltissimi aspetti della nostra vita, soprattutto per chi si occupa di risolvere problemi, in special modo nel mondo IT. Proprio il mondo degli informatici è una continua sfida tra uomo e macchina, in particolare per chi fa troubleshooting (analisi dei problemi) e si trova quotidianamente a cercare di capire cosa non va, la quasi totalità delle volte senza sapere nemmeno come debba funzionare ciò che non sta funzionando. Le proviamo un po' tutte: analizzare file di log riga per riga, provare a replicare il problema in altri ambienti, dividere il processo in sotto processi per vederlo più nel dettaglio, cercare su internet ecc. E durante questa intensa analisi, non facciamo altro che arrivare a capire quale dovrebbe essere il corretto funzionamento, individuando così, in quale punto del processo viene generato l'errore e perchè. Questo significa proprio applicare il concetto di reverse engineering, partendo dall'arrivo anziché dal via, capendo le cose a valle piuttosto che a monte. Un bravo Support Specialist ad esempio, non può non avere questo concetto nel sangue, non può non sentirlo scorrere nelle vene se ha passione per il suo lavoro. L'orgoglio e la voglia di arrivare senza l'aiuto di nessuno ci spingono sempre oltre i nostri limiti, se non possiamo partire dall'inizio, vorrà dire che partiremo dalla fine, ed attraverso log e pezzetti vari di codice, riusciremo a capire funzionalmente cosa si aspetta l'utente dal software e se ciò sia corretto o meno. Lo scenario peggiore e (proprio per questo) più eccitante per un Support Specialist (ma non solo) è proprio quando non vi è nessun documento né alcun buon cristiano a spiegarci cosa dovrebbe fare il pezzo di programma che non funziona, quando si è da soli contro un nemico che non conosciamo e solo il nostro ingegno ed intuito possono salvarci. Quindi, non aspettiamo che l'aiuto cada dal cielo, ma iniziamo a ragionare, a fare ipotesi, piano piano ci avvicineremo al problema fino a toccarlo con mano, costruendo un bagaglio di conoscenza ed esperienza tutto nostro, insomma, se volessimo riassumere tutto questo in uno slogan attuale, potrebbe suonare più o meno così: Be Reverse engineered!


926 visualizzazioni0 commenti

Post recenti

Mostra tutti
bottom of page