Using Fault Injection to Assess Blockchain Systems in Presence of Faulty Smart Contracts. Hajdu, Á., Ivaki, N., Kocsis, I., Klenik, A., Gönczy, L., Laranjeiro, N., Madeira, H., & Pataricza, A. 8:190760–190783, IEEE.
bibtex   
@Article{hajdu20using,
  author       = {Hajdu, {\'A}kos and Ivaki, Naghmeh and Kocsis, Imre and Klenik, Attila and G{\"o}nczy, L{\'a}szl{\'o} and Laranjeiro, Nuno and Madeira, Henrique and Pataricza, Andr{\'a}s},
  date         = {2020},
  journaltitle = {IEEE Access},
  title        = {Using Fault Injection to Assess Blockchain Systems in Presence of Faulty Smart Contracts},
  pages        = {190760--190783},
  volume       = {8},
  comment      = {* implemented and evaluated for Hyperledger Fabric
* do code modification

  * based on abstract syntax tree, tool: Solc

* execute fault-free and faulty variants of Smart Contracts
* additionally formally verify fault-free and faulty variants of Smart
  Contracts

  * Smart Contracts code must be annotated with specification
    (invariants etc.)
  * formal verification fails, if unexpected error occurs

    * e.g., assert statements failing, overflows
    * *not* including errors caused by guards

      * e.g., ``require`` statements

* fault model

  * overflow
  * insufficient randomness
  * missing/wrong

    * faulty variable initialization (incl. their absence)
    * conditional statements
    * ``require`` statements
    * API usage (e.g., call ``SafeMath``)
    * ans so on (\# fault model is interesting: not too small and well
      structured)

* workload generated
* evaluation using 15 algorithms

  * 5 algorithms of common algorithms

    * each with two additional version

      * one with protection mechanisms removed
      * one with more protection mechanisms added

  * large set of results (fault types X algorithms X how detected X …)
  * evaluate effectiveness of error detection

* reflect on threats to validity of their findings \#wow
* \# overall a comprehensive, detailed work},
  file         = {:hajdu20using - Using Fault Injection to Assess Blockchain Systems in Presence of Faulty Smart Contracts.pdf:PDF},
  groups       = {fault injection},
  publisher    = {IEEE},
  timestamp    = {2021-01-20},
}

Downloads: 0