Skip to main content

Secure and Safe Systems based on Static Analysis

Article Category

Article available in the folowing languages:

Un motore di soluzione di analisi per ottimizzare XSB Prolog

Denominato Succinct Solver V2.0, è stato sviluppato un motore d'analisi per risolvere i problemi di flusso dei dati e di controllo. Sebbene in sé non sia niente di speciale, questo particolare motore è scritto in linguaggio SML (Standard Manipulation Language), e questo significa che è in grado di superottimizzare XSB Prolog.

Economia digitale

Negli scorsi anni l'analisi statica di programmi si è affermata come tecnologia sicura per l'implementazione di compilatori e interpreti. Due buoni esempi di ricorso alle tecniche d'analisi statiche sono le tecniche di reingegnerizzazione del software usate nel problema Y2K e le validazioni software per Ariane V. Gli obiettivi del progetto d'origine erano valutare la scalabilità della tecnologia d'analisi statica e validarne gli aspetti di sicurezza ed affidabilità per linguaggi e applicazioni reali. Questo ha portato all'identificazione di due importanti settori della sicurezza, le smart card e la programmazione in Internet, da cui gli sforzi si sono concentrati su Java e la dialect Java Card. Succinct Solver è stato facilitato tramite Reqs, un analizzatore di programmi back-end creato da Inria. Questo era stato sviluppato in un analizzatore di limiti statico che usa il linguaggio Carmel, una rappresentazione intermedia del byte code della Java Card. Reqs risolve sistemi di limiti su reticoli, mentre l'analizzatore in sé è implementato usando una tecnica modulare di generazione di limiti, ed è progettato per analizzare frammenti di programmi Java. Offrendo una base sicura per lo studio dei componenti Java e delle interfacce, l'analizzatore statico basato sui limiti è stato abbinato a una tecnica di verifica modulare per l'analisi dei frammenti di programmi Java. Come per Succinct Solver, è stato provato rispetto ad altri solutori che usano principalmente XSB Prolog e DeMoney come principale programma di test, ed è arrivato in testa. Pertanto questo solutore è particolarmente utile per le proprietà di sicurezza del byte code della Java Card, le funzioni di controllo d'accesso di ambienti mobili e discrezionali, e la validazione di narrazioni di protocollo in adeguati processi algebrici. Sviluppi come Succinct Solver, Reqs e l'analizzatore statico basato sui limiti dovrebbero garantire la sicurezza dei modificatori di visibilità e delle interfacce condivisibili nel futuro a venire.

Scopri altri articoli nello stesso settore di applicazione