Show simple item record

dc.contributor.authorRinard, Martin C.
dc.date.accessioned2010-02-11T15:34:31Z
dc.date.available2010-02-11T15:34:31Z
dc.date.issued2009-07
dc.identifier.isbn978-3-642-02958-5
dc.identifier.issn1611-3349
dc.identifier.issn0302-9743
dc.identifier.urihttp://hdl.handle.net/1721.1/51699
dc.description.abstractIn recent years researchers have developed a wide range of powerful automated reasoning systems. We have leveraged these systems to build Jahob, a program specification, analysis, and verification system. In contrast to many such systems, which use a monolithic reasoning approach, Jahob provides a general integrated reasoning framework, which enables multiple automated reasoning systems to work together to prove the desired program correctness properties. We have used Jahob to prove the full functional correctness of a collection of linked data structure implementations. The automated reasoning systems are able to automatically perform the vast majority of the reasoning steps required for this verification. But there are some complex verification conditions that they fail to prove. We have therefore developed a proof language, integrated into the underlying imperative Java programming language, that developers can use to control key choice points in the proof search space. Once the developer has resolved these choice points, the automated reasoning systems are able to complete the verification. This approach appropriately leverages both the developer’s insight into the high-level structure of the proof and the ability of the automated reasoning systems to perform the mechanical steps required to prove the verification conditions. Building on Jahob’s success with this challenging program verification problem, we contemplate the possibility of verifying the complete absence of fatal errors in large software systems. We envision combining simple techniques that analyze the vast majority of the program with heavyweight techniques that analyze those more sophisticated parts of the program that may require arbitrarily sophisticated reasoning. Modularity mechanisms such as abstract data types enable the sound division of the program for this purpose. The goal is not a completely correct program, but a program that can survive any remaining errors to continue to provide acceptable service.en
dc.language.isoen_US
dc.publisherSpringer Berlin Heidelbergen
dc.relation.isversionofhttp://dx.doi.org/10.1007/978-3-642-02959-2_1en
dc.rightsAttribution-Noncommercial-Share Alike 3.0 Unporteden
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/3.0/en
dc.sourceMartin Rinarden
dc.titleIntegrated reasoning and proof choice point selection in the jahob system (Mechanisms for program survival)en
dc.title.alternativeIntegrated Reasoning and Proof Choice Point Selection in the Jahob System – Mechanisms for Program Survivalen
dc.typeArticleen
dc.identifier.citationRinard, Martin. “Integrated Reasoning and Proof Choice Point Selection in the Jahob System – Mechanisms for Program Survival.” Automated Deduction – CADE-22 2009.en
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.approverRinard, Martin C.
dc.contributor.mitauthorRinard, Martin C.
dc.relation.journalLecture Notes in Computer Science: Automated Deduction – CADE-22en
dc.eprint.versionAuthor's final manuscript
dc.type.urihttp://purl.org/eprint/type/JournalArticleen
eprint.statushttp://purl.org/eprint/status/PeerRevieweden
dspace.orderedauthorsRinard, Martinen
dc.identifier.orcidhttps://orcid.org/0000-0001-8095-8523
mit.licenseOPEN_ACCESS_POLICYen
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record