FIRestarter: Practical Software Crash Recovery with Targeted Library-level Fault Injection. Bhat, K., van der Kouwe, E., Bos, H., & Giuffrida, C.
bibtex   
@Article{bhat21firestarter,
  author    = {Bhat, Koustubha and van der Kouwe, Erik and Bos, Herbert and Giuffrida, Cristiano},
  date      = {2021},
  title     = {FIRestarter: Practical Software Crash Recovery with Targeted Library-level Fault Injection},
  comment   = {* context: generic application recovery
* approach

  * intercept library calls

    * snapshot calling process before call
    * on failure

      * restore previous snapshot
      * inject error in previous library call
      * trigger error-handling code of most recent succeeded library
        call

        * via fault injection

* this approach also handles permanent faults
* instrument code

  * analyze library interface
  * insert transactions/checkpoints, fault injection points

    * leveraging, e.g., Inter transaction instruction (TSX) or
      transactional memory

  * output modified code

* case study

  *  on nginx, Apache, Lighthttpd, Redis, PostgreSQL
  * memory overhead
  * CPU overhead
  * survivability

    * if errors persist, FIRerstarter also aborts

* good section on limitations

  * error-handling code must be generally in good quality

    * otherwise, the rollback does not make much sense

  * bugs in called libraries are problematic
  * shared-memory (makes snapshot/rollback hard/impossible)
  * multi-threading

* nice section on related work
* \# nicely done paper},
  file      = {:bhat21firestarter - FIRestarter_ Practical Software Crash Recovery with Targeted Library-level Fault Injection.pdf:PDF},
  groups    = {fault tolerance},
  timestamp = {2021-04-18},
}

Downloads: 0