Bolt: on-demand infinite loop escape in unmodified binaries

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 pro...

Full description

Bibliographic Details
Main Authors: Kling, Michael W. (Author), Misailovic, Sasa (Author), Carbin, Michael James (Author), Rinard, Martin C (Author)
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory (Contributor)
Format: Article
Language:English
Published: Association for Computing Machinery (ACM), 2020-06-12T20:10:53Z.
Subjects:
Online Access:Get fulltext
LEADER 01801 am a22002893u 4500
001 125785
042 |a dc 
100 1 0 |a Kling, Michael W.  |e author 
100 1 0 |a Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory  |e contributor 
700 1 0 |a Misailovic, Sasa  |e author 
700 1 0 |a Carbin, Michael James  |e author 
700 1 0 |a Rinard, Martin C  |e author 
245 0 0 |a Bolt: on-demand infinite loop escape in unmodified binaries 
260 |b Association for Computing Machinery (ACM),   |c 2020-06-12T20:10:53Z. 
856 |z Get fulltext  |u https://hdl.handle.net/1721.1/125785 
520 |a 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. Copyright © 2012 ACM. 
520 |a NSF (Grant CCF-0811397) 
520 |a NSF (Grant CCF-0905244) 
520 |a NSF (IIS-0835652) 
520 |a NSF (Grant CCF-1036241) 
520 |a DARPA (Grant FA8650-11-C-7192) 
520 |a DARPA (Grant FA8750-12-2-0110) 
520 |a United States Department of Energy (Grant DE-SC0005288) 
546 |a en 
655 7 |a Article 
773 |t 10.1145/2398857.2384648 
773 |t ACM SIGPLAN Notices