Teoresi logo compact negative

Teoresi dà il benvenuto a MediCon Ingegneria

Reactis for C
C Code Process

Reactis® for C, tool per la generazione automatica di test, può essere utilizzato per trovare bug nel codice C.
Consiste in tre componenti principali: Tester, Simulator e Validator.

Tester Simulator Validator
Genera automaticamente test case che stressano un applicativo, spesso rilevando errori di runtime. I test generati mirano a massimizzare la copertura rispetto al numero di metriche utilizzate, tra cui Statement, Decision, Condition e Modified Condition/ Decision Coverage (MC/DC).. E’ un ambiente di simulazione che supporta l’esecuzione interattiva e il debugging dei programmi in C e mostra graficamente I risultati del test coverage. Consente di formalizzare i requisiti dell’applicazione (assertion o obiettivi del coverage) ed eseguire un controllo automatico delle violazioni degli stessi. Validator effettua questi controlli simulando accuratamente l’applicativo con l’obiettivo di violare le assertion e gli obiettivi di coverage. Quando si verifica un errore di runtime o un’assertion failure, Validator genera un test che riproduce concretamente la sequenza di eventi che ha portato all’errore, facilitando la diagnosi e la riparazione dei bug del software.

Il tool Reactis for C migliora la qualità del codice C e riduce i costi di sviluppo in diversi modi. Per esempio:

  • Rilevando e correggendo gli errori di runtime. Reactis for C arresta immediatamente l’esecuzione quando si verifica un errore di runtime, facilitando la correzione dello stesso.
    Ogni volta che Reactis for C simula il codice C  nel Simulator o generando test con il Tester, esegue allo stesso tempo molteplici controlli per gli errori di runtime. Il risultato è un tool potente per la rilevazione, la diagnosi e la correzione di una varietà di errori di runtime nel codice C. Gli errori rilevati da Reactis for C comprendono:

    • Overflow Calcoli che producono un numero troppo grande da rappresentare
    • Divide by Zero Errore generato dalla divisione di un valore numerico per zero
    • Invalid Shift Lo spostamento di un valore intero di una quantità che produce un risultato indefinito, secondo lo standard C
    • Uninitialized Data Access Quando si accede alla memoria prima che questa si sia avviata, producendo un risultato di accesso indefinito
  • Regression Testing. La generazione e l’esecuzione automatica di test offerta da Reactis for C consente agli ingegneri di verificare facilmente se un programma è conforme al comportamento di una versione precedente. Un aspetto cruciale dei test generati da Reactis Tester è che includono sia tutti gli output che gli input. Perciò questi test contengono tutte le informazioni richieste per assicurare che una versione rivista del programma sia conforme alla precedente..
  • Sinergia con Reactis for Simulink. La combinazione tra Reactis for C e Reactis for Simulink in un processo di sviluppo model-based produce vantaggi sinergici.
    Gli ingegneri che lavorano con il model-based design utilizzando Simulink®/ Stateflow® come tool di progettazione e C come linguaggio per l’implementazione possono trarre vantaggi significativi impiegando Reactis for C in combinazione con il suo prodotto fratello, Reactis for Simulink.
    Si hanno questi benefici quando le suite di test sono condivise in entrambe le versioni di Reactis.