Un tool per l’iniezione di guasti in microcontrollori per ......Un tool per l’iniezione di...

12
Un tool per l’iniezione di guasti in microcontrollori per Wireless Sensor Networks Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea Relatore Ch.mo prof. Stefano Russo Correlatore Ing. Marcello Cinque Candidato Alessandro Testa Matr. 885/189 Un tool per l’iniezione di guasti in microcontrollori per Wireless Sensor Networks Anno Accademico 2007/2008

Transcript of Un tool per l’iniezione di guasti in microcontrollori per ......Un tool per l’iniezione di...

  • Un tool per l’iniezione di guasti in microcontrollori per Wireless Sensor NetworksFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

    tesi di laurea

    Relatore

    Ch.mo prof. Stefano Russo

    Correlatore

    Ing. Marcello Cinque

    Candidato

    Alessandro Testa

    Matr. 885/189

    Un tool per l’iniezione di guasti in microcontrollori per Wireless Sensor NetworksAnno Accademico 2007/2008

  • Un tool per l’iniezione di guasti in microcontrollori per Wireless Sensor NetworksFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

    ObiettiviObiettivi• Testare la robustezza dell’applicazione di un sensore in caso dimalfunzionamenti. (es. interferenza elettrom.)

    •• Implementazione di un tool per l’iniezione di guasti in microcontrollori

    per reti di sensori senza filo.

    1. 1. DiminuzioneDiminuzione delladellaprobabilitprobabilitàà didi erroreerrore (non (non pipiùùumanoumano))

    2. 2. VelocitVelocitàà didi calcolocalcolo e e didiesecuzioneesecuzione didi un un numeronumeroelevatoelevato didi esperimentiesperimenti e/oe/odidi studistudi per per ottenereottenerell’’iniezioneiniezione didi guastiguasti in un in un sistemasistema

  • Un tool per l’iniezione di guasti in microcontrollori per Wireless Sensor NetworksFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

    ReteRete didi sensorisensori senzasenza filofilo

    • Rete di sensori distribuiti nell'ambiente che cooperano tra di loro, mediantetrasmissioni senza cavo (wireless) allo scopo di rilevare fenomeni fisici.

    RequisitiRequisiti

    Tolleranza ai guasti

    Consumi

    Scalabilità

    Mezzi trasmissivi

    Prestazioni

    Le WSN Le WSN nelnel mondomondo realereale

    Individuazione incendi boschivi

    Applicazioni militari

    Applicazioni sanitarie

    Home automation

  • Un tool per l’iniezione di guasti in microcontrollori per Wireless Sensor NetworksFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

    Tecniche di Fault InjectionTecniche di Fault Injection

    HardWareHardWare--Implemented Fault Injection (HWIFI)Implemented Fault Injection (HWIFI) Tecnica adoperata per effettuare l'iniezione di guasti direttamente nell'hardware di un sistema.

    SoftWareSoftWare--Implemented Fault Injection (SWIFI)Implemented Fault Injection (SWIFI)

    Utilizzo di appositi strumenti software per realizzare un'iniezione di guasti.

    Iniezione di guasti a livello assemblyIniezione di guasti a livello assembly A differenza della tecnica SWIFI, opera direttamente sul singolo bit di un registro, sporcando il valore in esso contenuto. 11

    iniezioneiniezione

  • Un tool per l’iniezione di guasti in microcontrollori per Wireless Sensor NetworksFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

    La La tecnicatecnica SWIFI SWIFI delldell’’AVRAVR--INJECT TOOLINJECT TOOL

    La La tecnicatecnica SWIFI SWIFI propostaproposta puòpuò essereessere sintetizzatasintetizzata neinei seguentiseguenti passipassi::

    1.1. FaseFase didi prepre--injectioninjection AnalisiAnalisi del del sistemasistema faultfault--freefree

    2. Set2. Set--up up esperimentiesperimenti

    CosaCosa iniettareiniettare??Dove Dove iniettareiniettare??

    QuandoQuando iniettareiniettare??

    •• AllAll’’nn--simasima esecuzioneesecuzionedelldell’’istruzioneistruzione dadasporcaresporcare

    •• MemoriaMemoria•• CodiceCodice

    •• RegistriRegistrispecialispeciali

    •• SingleSingle--event event Upset (SEU)Upset (SEU)

  • Un tool per l’iniezione di guasti in microcontrollori per Wireless Sensor NetworksFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

    ProblematicheProblematiche delldell’’AVRAVR--INJECT TOOLINJECT TOOL

    • L’AVRAVR--INJECT ToolINJECT Tool è stato realizzato per automatizzare la tecnica SWIFI .

    •• ScopoScopo: : evitare di realizzare l’iniezione dei guasti mediante operazioni a mano.

    1.1. AutomatizzareAutomatizzare ilil valorevalore del PCdel PC

    2.2. SemplificareSemplificare la la sceltascelta del del puntopunto didi

    iniezioneiniezione

    3.3. UtilizzareUtilizzare un file XML per i un file XML per i datidati inputinput

    4.4. EvitareEvitare iniezioneiniezione in in istruzioniistruzioni cheche non non

    verrannoverranno maimai eseguiteeseguite

    5.5. VerificareVerificare compatibilitcompatibilitàà tratra ilil tipotipo didi

    guastoguasto e la e la locazionelocazione sceltiscelti

    6.6. SegnalareSegnalare allall’’utenteutente i warning!i warning!

    Quali compitideve avere il

    tool?

  • Un tool per l’iniezione di guasti in microcontrollori per Wireless Sensor NetworksFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

    FunzionalitFunzionalitàà delldell’’AVRAVR--INJECT TOOLINJECT TOOL LL’’AVRAVR--INJECT Tool INJECT Tool supportasupporta::

    esperimentiesperimenti semplicisemplici

    studistudi parametriciparametrici (al (al variarevariare didi un un parametroparametro))

    campagnacampagna didi fault injection (fault injection (collezionecollezione didi studistudi))

    TecnicaTecnica del del ““countcount””

    Il tool Il tool controllacontrolla se se l'istruzionel'istruzione corrispondentecorrispondente allaalla locazionelocazione inseritainserita dall'utentedall'utentevieneviene invocatainvocata almenoalmeno unauna voltavolta..

    ControlloControllo compatibilitcompatibilitàà

  • Un tool per l’iniezione di guasti in microcontrollori per Wireless Sensor NetworksFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

    CasiCasi dd’’usouso (1/2)(1/2)

    -- ESPERIMENTOESPERIMENTO --

    TipoTipo didi guastoguasto(il “cosa”)

    PosizionePosizione bitbit

    NumeroNumero didi ciclociclo(il “quando”)

    LocazioneLocazione(il “dove”)

    Path Path delladellaGoldenCopyGoldenCopy

    SceltaScelta locazionelocazionedalladalla listalista(metodo interattivo)

  • Un tool per l’iniezione di guasti in microcontrollori per Wireless Sensor NetworksFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

    CasiCasi dd’’usouso (2/2)(2/2)

    STUDIO STEPSTUDIO STEP--BYBY--STEPSTEP STUDIO RANDOMSTUDIO RANDOM

    •• TuttiTutti i i valorivalori sonosono sceltiscelti dalldall’’utenteutente •• LL’’utenteutente devedeve sceglierescegliere qualequale valorevalore sarsarààgeneratogenerato casualmentecasualmente ((ciclociclo o o bitbit--flipflip))

    StepStepValoriValori

    inizialeinizialeValoriValorifinalefinale

    QuantitQuantitàà valorivalori dada generaregenerare aleatoriamentealeatoriamente

  • Un tool per l’iniezione di guasti in microcontrollori per Wireless Sensor NetworksFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

    RisultatiRisultati ottenutiottenuti con con ll’’AVRAVR--INJECT TOOL (1/2)INJECT TOOL (1/2)

    •• Realizzazione di una campagna di iniezione di guasti mediante l’utilizzodell’AVR-INJECT Tool (375 esperimenti in circa 1,5 h; stima tempo manuale: 10’ per esperimento).

    •• ValutazioneValutazione deidei risultatirisultati ottenutiottenuti: :

    Errori non effettivi (30%)

    Fenomeni di crash (49%)

    Fenomeni di hang (21%)

    •• ÈÈ statastata effettuataeffettuata unauna campagnacampagna didi fault injection i cui fault injection i cui parametriparametri generatigeneraticasualmentecasualmente dalldall’’AVRAVR--INJECT Tool INJECT Tool sonosono statistati::

    locazione

    bit

    istante temporale

  • Un tool per l’iniezione di guasti in microcontrollori per Wireless Sensor NetworksFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

    RisultatiRisultati ottenutiottenuti con con ll’’AVRAVR--INJECT TOOL (2/2)INJECT TOOL (2/2)

    La latenza è il tempo che intercorre tral’iniezione del guasto e la sua manifestazione

    La maggior parte degli hang error hannouna latenza maggiore o uguale di 40 cicli.

  • Un tool per l’iniezione di guasti in microcontrollori per Wireless Sensor NetworksFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

    ConclusioniConclusioni

    •• ApplicazioneApplicazione in java in java dotatadotata didi interfacciainterfaccia graficagrafica GUI per GUI per impostareimpostareun un esperimentoesperimento e e unouno studio studio didi fault injection in fault injection in modomodo semplicesemplice e e veloceveloce. .

    •• Il tool, in Il tool, in funzionefunzione deidei valorivalori immessiimmessi dalldall’’utenteutente, , esegueesegue ll’’iniezioneiniezionedidi guastiguasti..

    • AutomatizzazioneAutomatizzazione didi unauna campagnacampagna didi fault injection con la fault injection con la generazionegenerazionedidi graficigrafici per per ll’’analisianalisi deidei risultatirisultati..

    •• GenerazioneGenerazione didi parametriparametri casualicasuali mediantemediante distribuzionedistribuzione gaussianagaussiana..

    SviluppiSviluppi futurifuturi

    •• AnalisiAnalisi didi errorierrori crash e hangcrash e hang causaticausati dalldall’’iniezioneiniezione didi guastiguasti((realizzatarealizzata con con ll’’ausilioausilio del tool). del tool).