eclair
Un framework flessibile ed estensibile per
l’analisi di codice sorgente C e C++.
Un framework flessibile ed estensibile per
l’analisi di codice sorgente C e C++. Tra le molte applicazioni
possibili, ECLAIR individua automaticamente le violazioni delle
regole di codifica definite dall’utente o dagli standard di
codifica più diffusi, come MISRA C/C++, High-Integrity C++, CERT
C/C++, JSF C++, Netrino Embedded C.
-
Modulo di integrazione con la toolchain
Consente la perfetta integrazione con ogni sistema di compilazione: sono attualmente supportatetoolchain basate su GCC, Intel C/C++, Microsoft Visual Studio, CodeWarrior e i compilatori Green Hills. -
Parser codice sorgente
Legge oltre 100.000 righe di codice C/C++ al secondo su un comune portatile; ogni frammento resta riconducibile alla sua esatta posizione nel sorgente. -
Motore di analisi semantica
Eseguirà il tracciamento preciso e corretto di dati di tipo puntatore e numerico (interi e floating point). Il rapporto tra precisione e tempo di analisi potrà essere adattato alle necessità dell’utente e all’attività di verifica (supportando sia l’uso continuativo da parte dei programmatori che la “verifica notturna”). -
Modulo di persistenza delle informazioni
Memorizza i dati raccolti durante l’elaborazione dei singoli sorgenti in modo che siano disponibili per la verifica, in fase di linking, delle regole di codifica che operano sull’intero programma. -
Rappresentazione interna
Contiene le informazioni sintattiche e semantiche, con diverse interfacce che consentono di realizzare applicazioni di manipolazione e verifica dei programmi lavorando sempre al giusto livello di astrazione. -
Regole di codifica predefinite
Sono supportati gli standard di codifica più noti e apprezzati in aggiunta a regole di codifica risultanti dall’esperienza sul campo di BUGSENG. -
Regole di codifica definite dall’utente
Sono specificate in un linguaggio di altissimo livello usando una potente libreria di servizi: questo facilita enormemente l’adozione di regole di codifica interne ad un progetto. -
Resoconti delle violazioni di regole di codifica
Rappresentano in modo strutturato le violazioni per renderle utilizzabili dai diversi moduli di output per presentare le informazioni relative alla violazione al giusto livello di dettaglio: dal semplice output in formato testo ai navigatori più sofisticati. -
Configurazione web-based
Permette, attraverso un’interfaccia grafica potente e facile da usare, di specificare in modo incrementale le verifiche da effettuare sul codice. -
Navigatore dei sorgenti e delle violazioni
Consentirà, con un comune browser, la visualizzazione interattiva del codice sorgente seguendo le locazioni delle violazioni e delle loro cause, collegando le entità nel codice (come gli identificatori) facendo uso di informazioni sintattiche e semantiche. Permetterà anche di tracciare con precisione i passi delle catene di inclusione e di espansione delle macro. -
Generatore automatico di unit test case
Sintetizzerà automaticamente insiemi minimali di test case per il conseguimento del criterio di copertura specificato. -
Ricerche e sostituzioni semantiche
Consentirà di trovare automaticamente punti nei programmi identificati in base a criteri sintattici e semantici, con la possibile sostituzione parametrica del frammento trovato. -
Semplificatori, offuscatori, trasformatori, ...
Solo qualche esempio della quantità di applicazioni che, grazie alla modularità di ECLAIR, possono essere sviluppate con relativa facilità al giusto livello di astrazione.
