• Inglese
  • Italiano
  • Tedesco

 
5274

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.

 
5276
 
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.
    I benefici si presentano quando i test case vengono condivisi tra entrambe le versione di Reactis, dando luogo a due scenari base:

REA_validating_from_Simulink_model
Validazione di un programma in C sviluppato da un modello Stateflow®/Simulink

REA_validating_from_C_code
Validazione di un modello Stateflow®/Simulink® sviluppato con il legacy C code

Torna alla pagina Reactive
 

Altri prodotti REACTIVE

Reactis for Simulink

 

Downloads

Reactis products guide
Testing and Validation of Simulink Models with Reactis
Achieving ISO 26262 Compliance with Reactis

  • To download this document, please enter your name and a valid e-mail address.
  • We also inform you that your personal data will be processed only and exclusively by Teoresi Spa and will not be disclosed to third parties without your prior consent in compliance with EU Reg. 2016/679.