Matches in SemOpenAlex for { <https://semopenalex.org/work/W3041252015> ?p ?o ?g. }
- W3041252015 endingPage "544" @default.
- W3041252015 startingPage "530" @default.
- W3041252015 abstract "This paper studies hybrid contract verification for an imperative higher-order language based on a so-called manifest contract system . In manifest contract systems, contracts are part of static types and contract verification is hybrid in the sense that some contracts are statically verified, typically by subtyping, but others are dynamically by casts. It is, however, not trivial to extend existing manifest contract systems, which have been designed mostly for pure functional languages, to imperative features, mainly because of the lack of flow-sensitivity, which should be taken into account in verifying imperative programs statically. We develop an imperative higher-order manifest contract system λ ref H for flow-sensitive hybrid contract verification. We introduce a computational variant of Nanevski et al's Hoare types, which are flow-sensitive types to represent pre- and postconditions of impure computation. Our Hoare types are computational in the sense that pre- and postconditions are given by Booleans in the same language as programs so that they are dynamically verifiable. λ ref H also supports refinement types as in existing manifest contract systems to describe flow-insensitive, state-independent contracts of pure computation. While it is desirable that any-possibly state-manipulating-predicate can be used in contracts, abuse of stateful operations will break the system. To control stateful operations in contracts, we introduce a region-based effect system, which allows contracts in refinement types and computational Hoare types to manipulate states, as long as they are observationally pure and read-only, respectively. We show that dynamic contract checking in our calculus is consistent with static typing in the sense that the final result obtained without dynamic contract violations satisfies contracts in its static type. It in particular means that the state after stateful computations satisfies their postconditions. As in some of prior manifest contract systems, static contract verification in this work is post facto, that is, we first define our manifest contract system so that all contracts are checked at run time, formalize conditions when dynamic checks can be removed safely, and show that programs with and without such removable checks are contextually equivalent. We also apply the idea of post facto verification to region-based local reasoning, inspired by the frame rule of Separation Logic." @default.
- W3041252015 created "2020-07-16" @default.
- W3041252015 creator A5055835936 @default.
- W3041252015 creator A5079591279 @default.
- W3041252015 date "2017-01-01" @default.
- W3041252015 modified "2023-09-25" @default.
- W3041252015 title "Stateful manifest contracts" @default.
- W3041252015 cites W103523709 @default.
- W3041252015 cites W1502282368 @default.
- W3041252015 cites W1528322206 @default.
- W3041252015 cites W1548974835 @default.
- W3041252015 cites W1550526517 @default.
- W3041252015 cites W1553421328 @default.
- W3041252015 cites W1980939032 @default.
- W3041252015 cites W1986188859 @default.
- W3041252015 cites W1997143185 @default.
- W3041252015 cites W2001218627 @default.
- W3041252015 cites W2005192022 @default.
- W3041252015 cites W2008880956 @default.
- W3041252015 cites W2010452422 @default.
- W3041252015 cites W2022518532 @default.
- W3041252015 cites W2027189949 @default.
- W3041252015 cites W2037984920 @default.
- W3041252015 cites W2041950498 @default.
- W3041252015 cites W2046137117 @default.
- W3041252015 cites W2053070172 @default.
- W3041252015 cites W2059703978 @default.
- W3041252015 cites W2061127958 @default.
- W3041252015 cites W2073407646 @default.
- W3041252015 cites W2078020391 @default.
- W3041252015 cites W2081109124 @default.
- W3041252015 cites W2092351491 @default.
- W3041252015 cites W2097959001 @default.
- W3041252015 cites W2101811680 @default.
- W3041252015 cites W2109772966 @default.
- W3041252015 cites W2116323891 @default.
- W3041252015 cites W2125995229 @default.
- W3041252015 cites W2128303158 @default.
- W3041252015 cites W2129133667 @default.
- W3041252015 cites W2129414328 @default.
- W3041252015 cites W2137734935 @default.
- W3041252015 cites W2139597778 @default.
- W3041252015 cites W2141210774 @default.
- W3041252015 cites W2144160229 @default.
- W3041252015 cites W2145619371 @default.
- W3041252015 cites W2150998213 @default.
- W3041252015 cites W2153036969 @default.
- W3041252015 cites W2158376721 @default.
- W3041252015 cites W2169661165 @default.
- W3041252015 cites W2218092420 @default.
- W3041252015 cites W2267469130 @default.
- W3041252015 cites W2295923951 @default.
- W3041252015 cites W2340618214 @default.
- W3041252015 cites W2987907651 @default.
- W3041252015 cites W3099703838 @default.
- W3041252015 cites W4238764673 @default.
- W3041252015 cites W753900477 @default.
- W3041252015 doi "https://doi.org/10.1145/3093333.3009875" @default.
- W3041252015 hasPublicationYear "2017" @default.
- W3041252015 type Work @default.
- W3041252015 sameAs 3041252015 @default.
- W3041252015 citedByCount "2" @default.
- W3041252015 countsByYear W30412520152019 @default.
- W3041252015 crossrefType "journal-article" @default.
- W3041252015 hasAuthorship W3041252015A5055835936 @default.
- W3041252015 hasAuthorship W3041252015A5079591279 @default.
- W3041252015 hasConcept C104949639 @default.
- W3041252015 hasConcept C158379750 @default.
- W3041252015 hasConcept C173856430 @default.
- W3041252015 hasConcept C186846655 @default.
- W3041252015 hasConcept C199360897 @default.
- W3041252015 hasConcept C22927095 @default.
- W3041252015 hasConcept C2777904410 @default.
- W3041252015 hasConcept C31258907 @default.
- W3041252015 hasConcept C41008148 @default.
- W3041252015 hasConcept C529173508 @default.
- W3041252015 hasConcept C55439883 @default.
- W3041252015 hasConcept C80291951 @default.
- W3041252015 hasConcept C80444323 @default.
- W3041252015 hasConceptScore W3041252015C104949639 @default.
- W3041252015 hasConceptScore W3041252015C158379750 @default.
- W3041252015 hasConceptScore W3041252015C173856430 @default.
- W3041252015 hasConceptScore W3041252015C186846655 @default.
- W3041252015 hasConceptScore W3041252015C199360897 @default.
- W3041252015 hasConceptScore W3041252015C22927095 @default.
- W3041252015 hasConceptScore W3041252015C2777904410 @default.
- W3041252015 hasConceptScore W3041252015C31258907 @default.
- W3041252015 hasConceptScore W3041252015C41008148 @default.
- W3041252015 hasConceptScore W3041252015C529173508 @default.
- W3041252015 hasConceptScore W3041252015C55439883 @default.
- W3041252015 hasConceptScore W3041252015C80291951 @default.
- W3041252015 hasConceptScore W3041252015C80444323 @default.
- W3041252015 hasFunder F4320334764 @default.
- W3041252015 hasIssue "1" @default.
- W3041252015 hasLocation W30412520151 @default.
- W3041252015 hasOpenAccess W3041252015 @default.
- W3041252015 hasPrimaryLocation W30412520151 @default.
- W3041252015 hasRelatedWork W1509999209 @default.