Detecting and escaping infinite loops with jolt

25th European Conference, Lancaster, Uk, July 25-29, 2011 Proceedings

Bibliographic Details
Main Authors: Carbin, Michael James, Misailovic, Sasa, Kling, Michael W., Rinard, Martin C.
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:en_US
Published: Springer Berlin / Heidelberg 2012
Online Access:http://hdl.handle.net/1721.1/73898
https://orcid.org/0000-0003-0313-9270
https://orcid.org/0000-0001-8095-8523
_version_ 1811092776842952704
author Carbin, Michael James
Misailovic, Sasa
Kling, Michael W.
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
Carbin, Michael James
Misailovic, Sasa
Kling, Michael W.
Rinard, Martin C.
author_sort Carbin, Michael James
collection MIT
description 25th European Conference, Lancaster, Uk, July 25-29, 2011 Proceedings
first_indexed 2024-09-23T15:25:25Z
format Article
id mit-1721.1/73898
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T15:25:25Z
publishDate 2012
publisher Springer Berlin / Heidelberg
record_format dspace
spelling mit-1721.1/738982022-09-29T14:39:25Z Detecting and escaping infinite loops with jolt Carbin, Michael James Misailovic, Sasa Kling, Michael W. Rinard, Martin C. Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Carbin, Michael James Misailovic, Sasa Kling, Michael W. Rinard, Martin C. 25th European Conference, Lancaster, Uk, July 25-29, 2011 Proceedings Infinite loops can make applications unresponsive. Potential problems include lost work or output, denied access to application functionality, and a lack of responses to urgent events. We present Jolt, a novel system for dynamically detecting and escaping infinite loops. At the user’s request, Jolt attaches to an application to monitor its progress. Specifically, Jolt records the program state at the start of each loop iteration. If two consecutive loop iterations produce the same state, Jolt reports to the user that the application is in an infinite loop. At the user’s option, Jolt can then transfer control to a statement following the loop, thereby allowing the application to escape the infinite loop and ideally continue its productive execution. The immediate goal is to enable the application to execute long enough to save any pending work, finish any in-progress computations, or respond to any urgent events. We evaluated Jolt by applying it to detect and escape eight infinite loops in five benchmark applications. Jolt was able to detect seven of the eight infinite loops (the eighth changes the state on every iteration). We also evaluated the effect of escaping an infinite loop as an alternative to terminating the application. In all of our benchmark applications, escaping an infinite loop produced a more useful output than terminating the application. Finally, we evaluated how well escaping from an infinite loop approximated the correction that the developers later made to the application. For two out of our eight loops, escaping the infinite loop produced the same output as the corrected version of the application. 2012-10-11T19:46:02Z 2012-10-11T19:46:02Z 2011-07 2011-07 Article http://purl.org/eprint/type/ConferencePaper 978-3-642-22654-0 0302-9743 1611-3349 http://hdl.handle.net/1721.1/73898 Carbin, Michael et al. “Detecting and Escaping Infinite Loops with Jolt.” ECOOP 2011 – Object-Oriented Programming. Ed. Mira Mezini. LNCS Vol. 6813. Berlin, Heidelberg: Springer Berlin Heidelberg, 2011. 609–633. https://orcid.org/0000-0003-0313-9270 https://orcid.org/0000-0001-8095-8523 en_US http://dx.doi.org/10.1007/978-3-642-22655-7_28 ECOOP 2011 – Object-Oriented Programming Creative Commons Attribution-Noncommercial-Share Alike 3.0 http://creativecommons.org/licenses/by-nc-sa/3.0/ application/pdf Springer Berlin / Heidelberg MIT web domain
spellingShingle Carbin, Michael James
Misailovic, Sasa
Kling, Michael W.
Rinard, Martin C.
Detecting and escaping infinite loops with jolt
title Detecting and escaping infinite loops with jolt
title_full Detecting and escaping infinite loops with jolt
title_fullStr Detecting and escaping infinite loops with jolt
title_full_unstemmed Detecting and escaping infinite loops with jolt
title_short Detecting and escaping infinite loops with jolt
title_sort detecting and escaping infinite loops with jolt
url http://hdl.handle.net/1721.1/73898
https://orcid.org/0000-0003-0313-9270
https://orcid.org/0000-0001-8095-8523
work_keys_str_mv AT carbinmichaeljames detectingandescapinginfiniteloopswithjolt
AT misailovicsasa detectingandescapinginfiniteloopswithjolt
AT klingmichaelw detectingandescapinginfiniteloopswithjolt
AT rinardmartinc detectingandescapinginfiniteloopswithjolt