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...
Main Authors: | , , , |
---|---|
Other Authors: | |
Format: | Article |
Language: | English |
Published: |
Association for Computing Machinery (ACM)
2020
|
Online Access: | https://hdl.handle.net/1721.1/125785 |
_version_ | 1811092492569804800 |
---|---|
author | Kling, Michael W. Misailovic, Sasa Carbin, Michael James Rinard, Martin C |
author2 | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory |
author_facet | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory Kling, Michael W. Misailovic, Sasa Carbin, Michael James Rinard, Martin C |
author_sort | Kling, Michael W. |
collection | MIT |
description | 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. |
first_indexed | 2024-09-23T15:19:02Z |
format | Article |
id | mit-1721.1/125785 |
institution | Massachusetts Institute of Technology |
language | English |
last_indexed | 2024-09-23T15:19:02Z |
publishDate | 2020 |
publisher | Association for Computing Machinery (ACM) |
record_format | dspace |
spelling | mit-1721.1/1257852022-09-29T14:10:13Z Bolt: on-demand infinite loop escape in unmodified binaries Kling, Michael W. Misailovic, Sasa Carbin, Michael James Rinard, Martin C Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory 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. NSF (Grant CCF-0811397) NSF (Grant CCF-0905244) NSF (IIS-0835652) NSF (Grant CCF-1036241) DARPA (Grant FA8650-11-C-7192) DARPA (Grant FA8750-12-2-0110) United States Department of Energy (Grant DE-SC0005288) 2020-06-12T20:10:53Z 2020-06-12T20:10:53Z 2012-10 2019-07-02T15:50:38Z Article http://purl.org/eprint/type/ConferencePaper 0362-1340 1558-1160 https://hdl.handle.net/1721.1/125785 Kling, Michael, et al. "Bolt: on-demand infinite loop escape in unmodified binaries." ACM SIGPLAN Notes 47,10 (2012), 431–450. https://doi.org/10.1145/2398857.2384648 en 10.1145/2398857.2384648 ACM SIGPLAN Notices Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/ application/pdf Association for Computing Machinery (ACM) MIT web domain |
spellingShingle | Kling, Michael W. Misailovic, Sasa Carbin, Michael James Rinard, Martin C Bolt: on-demand infinite loop escape in unmodified binaries |
title | Bolt: on-demand infinite loop escape in unmodified binaries |
title_full | Bolt: on-demand infinite loop escape in unmodified binaries |
title_fullStr | Bolt: on-demand infinite loop escape in unmodified binaries |
title_full_unstemmed | Bolt: on-demand infinite loop escape in unmodified binaries |
title_short | Bolt: on-demand infinite loop escape in unmodified binaries |
title_sort | bolt on demand infinite loop escape in unmodified binaries |
url | https://hdl.handle.net/1721.1/125785 |
work_keys_str_mv | AT klingmichaelw boltondemandinfiniteloopescapeinunmodifiedbinaries AT misailovicsasa boltondemandinfiniteloopescapeinunmodifiedbinaries AT carbinmichaeljames boltondemandinfiniteloopescapeinunmodifiedbinaries AT rinardmartinc boltondemandinfiniteloopescapeinunmodifiedbinaries |