Show simple item record

dc.contributor.authorCarbin, Michael James
dc.contributor.authorMisailovic, Sasa
dc.contributor.authorKling, Michael W.
dc.contributor.authorRinard, Martin C.
dc.date.accessioned2012-10-11T19:46:02Z
dc.date.available2012-10-11T19:46:02Z
dc.date.issued2011-07
dc.date.submitted2011-07
dc.identifier.isbn978-3-642-22654-0
dc.identifier.issn0302-9743
dc.identifier.issn1611-3349
dc.identifier.urihttp://hdl.handle.net/1721.1/73898
dc.description25th European Conference, Lancaster, Uk, July 25-29, 2011 Proceedingsen_US
dc.description.abstractInfinite 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.en_US
dc.language.isoen_US
dc.publisherSpringer Berlin / Heidelbergen_US
dc.relation.isversionofhttp://dx.doi.org/10.1007/978-3-642-22655-7_28en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alike 3.0en_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/3.0/en_US
dc.sourceMIT web domainen_US
dc.titleDetecting and escaping infinite loops with jolten_US
dc.typeArticleen_US
dc.identifier.citationCarbin, 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.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.contributor.mitauthorCarbin, Michael James
dc.contributor.mitauthorMisailovic, Sasa
dc.contributor.mitauthorKling, Michael W.
dc.contributor.mitauthorRinard, Martin C.
dc.relation.journalECOOP 2011 – Object-Oriented Programmingen_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
dspace.orderedauthorsCarbin, Michael; Misailovic, Sasa; Kling, Michael; Rinard, Martin C.en
dc.identifier.orcidhttps://orcid.org/0000-0003-0313-9270
dc.identifier.orcidhttps://orcid.org/0000-0001-8095-8523
mit.licenseOPEN_ACCESS_POLICYen_US
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record