In questi giorni Microsoft ha presentato al pubblico il suo nuovo source code analyzer chiamato Application Inspector. Si tratta di un tool pensato per analizzare feature e metadata, come ad esempio l'uso della crittografica o la piattaforma su cui viene eseguito un determinato software.
A presentare questo nuovo progetto sono stati il Security Program Manager Guy Acosta ed il Principal Security Manager Michael Scovetta tramite un post pubblicato sul blog ufficiale dell'azienda californiana:
Le moderne pratiche di sviluppo software spesso implicano la creazione di applicazioni composte da centinaia di componenti già esistenti, magari realizzati da team di terze parti o da community open source.
Il riutilizzo di queste componenti ha ovviamente dei grandi vantaggi ma in certi casi comporta costi e complessità nascoste.
Microsoft utilizza spesso moduli software open source nei propri progetti. Ovviamente riconosciamo i possibili rischi di questa scelta, ecco perché abbiamo deciso di realizzare Application Inspector, un nuovo tool per l'analisi del codice sorgente.
Application Inspector si differenza dagli altri tool dello stesso genere perché non si limita a rilevare le sole pratiche di programmazione. L'azienda di Redmond ha infatti progettato questa soluzione in modo tale che, durante il controllo del codice, vengano individuate ed evidenziate quelle caratteristiche che solitamente richiederebbero un'attenta analisi manuale.
Acosta e Scovetta portano l'esempio di un frammento di codice Python analizzato da un comune analysis tool:
Dall'analisi emerge che il programma Python si occupa di scaricare dei file da un URL e successivamente esegue un comando da shell per elencare i dettagli del file scaricato.
Mentre eseguendo la medesima analisi con Application Inspector è possibile ottenere molti più dettagli. Il tool infatti monitora una serie di feature specifiche.
Con queste informazioni gli sviluppatori possono comprendere molto meglio il funzionamento di un determinato componente software.
Application Inspector è in grado di analizzare delle singole porzioni di codice oppure interi progetti software con milioni di righe di sorgente scritte in diversi linguaggi. Inoltre questa utility è completamente multipiattaforma e può generare file di output in diversi formati, come ad esempio in JSON o in HTML.
Via Microsoft