Controllo qualità e code review

Il Suo software è cresciuto negli anni, il know-how è nelle mani di poche persone e ogni modifica sembra rischiosa? Oppure deve prendere una decisione – sviluppo ulteriore, porting, acquisizione o un nuovo fornitore – e ha bisogno di una base solida? Esaminiamo in modo indipendente il Suo codice e la Sua architettura e Le diciamo chiaramente a che punto è il Suo software e che cosa va fatto per primo.

Quando conviene una verifica

  • Gli errori si accumulano, e le correzioni ne generano di nuovi.
  • Le nuove funzioni richiedono sempre più tempo.
  • Sta rilevando un software da un altro team o da un altro fornitore.
  • Sta pianificando un porting, ad esempio da .NET Framework all'attuale .NET o da C++ a C#.
  • Deve dimostrare la sicurezza, ad esempio ai sensi del Cyber Resilience Act.
Ingranaggi che si incastrano tra loro come simbolo dell'architettura software

Che cosa verifichiamo

Sceglie Lei ciò di cui ha bisogno – singolarmente o come pacchetto completo.

Code review

Leggiamo il codice con occhio critico: comprensibilità, gestione degli errori, codice duplicato, concorrenza, gestione della memoria e delle risorse. Lavoriamo con C#/.NET, C++, WPF, LabVIEW e le interfacce di programmazione di AutoCAD, BricsCAD e Revit.

Revisione dell'architettura

Verifichiamo struttura, moduli e dipendenze: il software è estendibile, testabile e portabile? Quanto sono separati in modo pulito interfaccia utente, logica, gestione dei dati e collegamento di dispositivi o controllori?

Copertura dei test

Misuriamo quali parti sono coperte da test e valutiamo se tra queste ci sono i processi importanti. Una percentuale elevata da sola dice poco – decisivo è che i punti a rischio vengano verificati.

Analisi statica

Esaminiamo il codice con strumenti di analisi, ad esempio gli analizzatori Roslyn per .NET, SonarQube, Cppcheck o clang-tidy. Vagliamo i risultati, scartiamo i falsi positivi e, su richiesta, integriamo l'analisi in modo permanente nella Sua build.

Verifica della sicurezza

Cerchiamo componenti con vulnerabilità note, password e chiavi nel codice, input non verificati, permessi troppo ampi e crittografia mancante. Per le parti web ci orientiamo alla OWASP Top 10.

Protezione dei dati nel codice

Dove tratta dati personali il Suo software, chi vi ha accesso e come vengono cancellati? Su richiesta aggiungiamo questa prospettiva – maggiori informazioni alla voce Protezione dei dati e sviluppo sicuro del software.

Come si svolge una verifica

  1. Primo colloquio: Chiariamo obiettivo, portata e quesito e stabiliamo che cosa deve essere disponibile alla fine.
  2. Accesso: Ci dà accesso al codice sorgente e alla documentazione, su richiesta con un accordo di riservatezza e sui Suoi sistemi.
  3. Analisi: Verifichiamo con strumenti e manualmente e, in caso di dubbi, ci confrontiamo con i Suoi sviluppatori.
  4. Rapporto e discussione: Presentiamo i risultati e rispondiamo alle Sue domande.
  5. Attuazione, se lo desidera: Risolviamo noi stessi i problemi riscontrati o affianchiamo il Suo team.

Che cosa riceve

Un rapporto con cui può lavorare: risultati ordinati per urgenza, ciascuno con un esempio tratto dal Suo codice, motivazione e raccomandazione. In più una stima dell'impegno, affinché possa pianificare e decidere. Dove mancano i test, mostriamo quali dovrebbero essere creati per primi – su richiesta ce ne occupiamo noi nell'ambito della nostra automazione dei test.

La nostra verifica non sostituisce un penetration test eseguito da fornitori specializzati. Se ne è previsto uno, aiuta a prepararlo in modo mirato.

Dai nostri progetti

Prima che un cliente approvasse il porting di un applicativo AutoCAD cresciuto nell'arco di oltre dodici anni, abbiamo analizzato architettura e codice e ne abbiamo ricavato un'analisi di redditività. Per un produttore di strumenti di misura abbiamo esaminato un software LabVIEW cresciuto nel tempo alla ricerca di punti deboli e lo abbiamo messo in sicurezza con unit test. Entrambi gli esempi sono disponibili nei nostri casi di studio e tra i progetti.

Tutti i servizi in materia di qualità e sicurezza sono disponibili nella panoramica.

Il Suo prossimo passo

Ci descriva brevemente il Suo software e la Sua domanda. Le proporremo un ambito di verifica adeguato.

Fissare un primo colloquio

CONTACT

Seleziona la tua lingua

Primo colloquiofissare oraPrimo colloquiofissare ora