la verifica del software diventa semplice

Transcript

la verifica del software diventa semplice
S OL UTI ON PROFILE
JULIA
LA VERIFICA DEL SOFTWARE DIVENTA SEMPLICE
QUALITÀ DEL SOFTWARE: SICUREZZA ED AFFIDABILITÀ
Oggi il software gioca un ruolo fondamentale nella quasi totalità dei settori di business. L’esplosione delle tecnologie
mobile e cloud sta ulteriormente rafforzando questa tendenza trasformando profondamente i comportamenti e le
regole del mercato.
In questo scenario la sicurezza, l’efficienza e l’affidabilità del software costituiscono un fattore cruciale per le aziende
nell’affrontare in modo competitivo il mercato e tutelare la reputazione del brand.
Da una parte ci sono i rischi, a volte altissimi, dovuti a blocchi, attacchi, crash o interruzioni di servizio. D’altra parte
il debugging e la manutenzione quotidiani costituiscono la maggioranza dei costi nel ciclo di vita del software.
La soluzione più efficace ed economica per far fronte a queste problematiche consiste nell’evitare il più possibile
l’introduzione di errori, o nell’identificarli al più presto.
Un aiuto determinante in tale direzione sono gli strumenti automatici di verifica, la cui integrazione nelle diverse fasi
del processo di sviluppo permette di ottimizzare l’efficienza dell’Application Development e di garantire un software
di qualità, sicuro ed affidabile.
L’INTERPRETAZIONE ASTRATTA PER LA VERIFICA DEL
SOFTWARE
Oltre 10 anni di studi e ricerche scientifiche sviluppate da un team di docenti e ricercatori dell’Università di Verona,
in collaborazione con prestigiose università internazionali, sono alla base di JULIA (Java UniversaL Interpretation
and Abstraction), la più avanzata soluzione di analisi statica semantica per la verifica formale ed automatica delle
applicazioni sviluppate in Java e Android.
Julia è l’unico analizzatore statico di livello industriale fondato su una base scientifica riconosciuta e dimostrata,
la teoria matematica dell’interpretazione astratta, in grado non solo di effettuare il controllo sintattico del codice
compilato, ma anche di interpretarlo semanticamente, secondo logiche di analisi proprie di intelligenza artificiale
garantendo un’efficacia pari al 100% per le classi di errore analizzate.
JULIA
LA VERIFICA DEL SOFTWARE DIVENTA SEMPLICE
Questa fondamentale innovazione costituisce un’unicità di Julia, elemento di importantissima differenziazione
rispetto ai diversi strumenti per l’analisi statica del software presenti sul mercato, che necessitano quasi sempre del
codice sorgente ed utilizzano esclusivamente tecniche di pattern-matching sintattico facilmente eludibili.
UN POTENTE STRUMENTO PER ANALISI DI QUALITÀ
Julia, il più innovativo, potente e complesso analizzatore statico a livello mondiale, supporta un ventaglio di analisi
completo ed accurato identificando con certezza i fattori critici per l’affidabilità, la sicurezza e l’efficienza delle
applicazioni.
I linguaggi supportati da Julia sono JAVA e Android. Julia vanta in particolare un insieme di controlli esteso e in
continua crescita, incluso il più potente verificatore di errori di puntatore a null (NullPointerException), un verificatore
di terminazione per programmi reali e il più efficace identificatore di SQL-injection mai sviluppato.
Di semplice e veloce attivazione, Julia è utilizzabile tramite un server aziendale o come servizio cloud.
Tipologia di checker
Julia include un insieme di moduli di analisi, detti checker.
Ogni checker è dedicato alla verifica di una particolare vulnerabilità del software, riconducibile alla tassonomia di
classificazione proposta da Tsipenyuk C. e McGraw G. in “Seven pernicious kingdoms: a taxonomy of software
security errors” (2005).
I checker sono tra loro indipendenti e possono essere liberamente inclusi nell’analisi.
Classi di warning
Ogni checker produce diversi tipi di warning, che segnalano le varie criticità legate all’analisi specifica del checker,
e sono classificati in tre classi principali:
•Bug: errori nel codice che possono avere un impatto molto serio in esecuzione (ad es.: errori che potrebbero
originare NullPointerException, grosse imprecisioni nei dati, cicli infiniti);
•Efficiency: soluzioni adottate nel codice di potenziale impatto negativo per l’efficienza del programma (ad es.:
difficile manutenibilità, tempi di esecuzione troppo elevati, uso eccessivo di risorse di sistema);
•Style: parti di codice che non seguono le convenzioni Java ed il rispetto dello stile (ad es.: nell’uso di keywords,
nei nomi di keywords e variabili, nella sintassi degli indicatori definiti dall’Utente).
Risultato dell’esecuzione di un processo di analisi propriamente configurato nella sua modalità e nell’insieme dei
checker abilitati è un resoconto riportante la lista di tutte le segnalazioni prodotte ed un raggruppamento grafico
delle aree di rischio. Le stesse segnalazioni potranno inoltre essere consultate tramite l’apposito plugin Eclipse.
ARCHITETTURA TECNICA
JULIA
LA VERIFICA DEL SOFTWARE DIVENTA SEMPLICE
Reportistica avanzata
L’analizzatore identifica gli errori e produce un resoconto dei costrutti potenzialmente errati, dannosi, insicuri o
inefficienti.
SERVIZI INTEGRATIVI
Il team di Ricerca e Sviluppo di Julia ha messo a punto una serie di servizi all’avanguardia basati su strumenti “core”
ad integrazione dell’analizzatore Julia.
•Analisi statiche personalizzate: il nostro team di Ricerca e Sviluppo, focalizzato sulla continua evoluzione ed
aggiornamento dei nostri strumenti di analisi e sullo sviluppo di software verificato di alta qualità, è in grado di
implementare nuove tipologie di analisi statica progettate sulla base delle esigenze del Cliente;
•Sviluppo di software verificato: i profondi cambiamenti introdotti dalle nuove tecnologie richiedono la disponibilità
di informazioni, dati e applicazioni sempre e ovunque, in modo sicuro e performante. Julia è in grado di sviluppare
programmi di nuova generazione ed alta qualità, verificati formalmente, con particolare focus su JAVA e Android;
•Servizi di verifica del software: la sinergia tra l’utilizzo dei nostri prodotti di analisi e la profonda esperienza
maturata nella verifica del software consente a Julia di offrire un servizio completo, efficiente ed altamente
professionale di analisi e verifica puntuale del software del Cliente, con evidenti benefici in termini di risparmio di
tempi e costi per le aziende.
Tali servizi possono essere erogati in diverse modalità e granularità, spaziando dall’installazione in house presso il
Cliente alla fruizione totalmente autonoma via web.
CONTATTI
JULIA S.r.l.
Attività di direzione e coordinamento Corvallis Holding S.p.A.
Via Flavio Gioia 39 - 37135 Verona
Tel. +39 045 2081901 - 045 4770433
Capitale Sociale: € 55.000,00 i.v. - R.E.A. di VR n° 382135
Codice Fiscale/Partita IVA: 03985930233
www.juliasoft.com
TWOADVER.IT
[email protected]