• DocumentCode
    2448820
  • Title

    Avoiding Program Failures Through Safe Execution Perturbations

  • Author

    Tallam, Sriraman ; Tian, Chen ; Gupta, Rajiv ; Zhang, Xiangyu

  • fYear
    2008
  • fDate
    July 28 2008-Aug. 1 2008
  • Firstpage
    152
  • Lastpage
    159
  • Abstract
    We present an online framework to capture and recover from program failures and prevent them from occurring in the future through safe execution perturbations. The perturbations are safe as they respect the semantics of the program. We use a checkpointing/logging mechanism to capture a program execution to an event log. If the execution results in a failure, the framework automatically searches for perturbation of the execution by altering the event log and replaying the execution using the altered log to avoid the failure. If found, the perturbation is recorded as a dynamic patch, which is later applied by all future executions of this application to prevent the failure from occurring again. Our experiments show that the proposed framework is very effective in avoiding concurrency faults, heap memory overflow faults, and malicious requests. The entailed overhead for normal execution is very low (2-18%).
  • Keywords
    checkpointing; software reliability; checkpointing-logging mechanism; dynamic patch; heap memory overflow faults; program failures; program semantics; safe execution perturbations; Application software; Checkpointing; Computer applications; Computer bugs; Computer crashes; Concurrent computing; Software safety; Yarn; atomicity violation; avoiding failures; bad user requests; environmental faults; heap overflow; logging/replay tools;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Software and Applications, 2008. COMPSAC '08. 32nd Annual IEEE International
  • Conference_Location
    Turku
  • ISSN
    0730-3157
  • Print_ISBN
    978-0-7695-3262-2
  • Electronic_ISBN
    0730-3157
  • Type

    conf

  • DOI
    10.1109/COMPSAC.2008.23
  • Filename
    4591549