Bolt: on-demand infinite loop escape in unmodified binaries

  • Authors:
  • Michael Kling;Sasa Misailovic;Michael Carbin;Martin Rinard

  • Affiliations:
  • MIT CSAIL, Cambridge, USA;MIT CSAIL, Cambridge, USA;MIT CSAIL, Cambridge, USA;MIT CSAIL, Cambridge, USA

  • Venue:
  • Proceedings of the ACM international conference on Object oriented programming systems languages and applications
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present Bolt, a novel system for escaping from infinite and long-running loops. Directed by a user, Bolt can attach to a running process and determine if the program is executing an infinite loop. If so, Bolt can deploy multiple strategies to escape the loop, restore the responsiveness of the program, and enable the program to deliver useful output. Bolt operates on stripped x86 and x64 binaries, dynamically attaches and detaches to and from the program as needed, and dynamically detects loops and creates program state checkpoints to enable exploration of different escape strategies. Bolt can detect and escape from loops in off-the-shelf software, without available source code, and with no overhead in standard production use.