Matches in SemOpenAlex for { <https://semopenalex.org/work/W3199127130> ?p ?o ?g. }
- W3199127130 endingPage "343" @default.
- W3199127130 startingPage "330" @default.
- W3199127130 abstract "We present a new approach for specifying and verifying resource utilization of higher-order functional programs that use lazy evaluation and memoization. In our approach, users can specify the desired resource bound as templates with numerical holes e.g. as steps ≤ ? * size(l) + ? in the contracts of functions. They can also express invariants necessary for establishing the bounds that may depend on the state of memoization. Our approach operates in two phases: first generating an instrumented first-order program that accurately models the higher-order control flow and the effects of memoization on resources using sets, algebraic datatypes and mutual recursion, and then verifying the contracts of the first-order program by producing verification conditions of the form ∃ ∀ using an extended assume/guarantee reasoning. We use our approach to verify precise bounds on resources such as evaluation steps and number of heap-allocated objects on 17 challenging data structures and algorithms. Our benchmarks, comprising of 5K lines of functional Scala code, include lazy mergesort , Okasaki's real-time queue and deque data structures that rely on aliasing of references to first-class functions; lazy data structures based on numerical representations such as the conqueue data structure of Scala's data-parallel library, cyclic streams, as well as dynamic programming algorithms such as knapsack and Viterbi . Our evaluations show that when averaged over all benchmarks the actual runtime resource consumption is 80% of the value inferred by our tool when estimating the number of evaluation steps, and is 88% for the number of heap-allocated objects." @default.
- W3199127130 created "2021-09-27" @default.
- W3199127130 creator A5004372652 @default.
- W3199127130 creator A5011793394 @default.
- W3199127130 creator A5084793944 @default.
- W3199127130 date "2017-01-01" @default.
- W3199127130 modified "2023-10-03" @default.
- W3199127130 title "Contract-based resource verification for higher-order functions with memoization" @default.
- W3199127130 cites W115593648 @default.
- W3199127130 cites W1636902686 @default.
- W3199127130 cites W1856554806 @default.
- W3199127130 cites W1963833875 @default.
- W3199127130 cites W1971135355 @default.
- W3199127130 cites W1982495075 @default.
- W3199127130 cites W1982529770 @default.
- W3199127130 cites W1986804682 @default.
- W3199127130 cites W1991133427 @default.
- W3199127130 cites W2004843654 @default.
- W3199127130 cites W2020692742 @default.
- W3199127130 cites W2023035194 @default.
- W3199127130 cites W2025581658 @default.
- W3199127130 cites W2045900383 @default.
- W3199127130 cites W2053154567 @default.
- W3199127130 cites W2059703978 @default.
- W3199127130 cites W2060213695 @default.
- W3199127130 cites W2063019130 @default.
- W3199127130 cites W2071542068 @default.
- W3199127130 cites W2076285066 @default.
- W3199127130 cites W2080841971 @default.
- W3199127130 cites W2090759054 @default.
- W3199127130 cites W2091723900 @default.
- W3199127130 cites W2094712524 @default.
- W3199127130 cites W2099473324 @default.
- W3199127130 cites W2109863363 @default.
- W3199127130 cites W2112969535 @default.
- W3199127130 cites W2120172501 @default.
- W3199127130 cites W2126001891 @default.
- W3199127130 cites W2127114597 @default.
- W3199127130 cites W2128303158 @default.
- W3199127130 cites W2135155734 @default.
- W3199127130 cites W2140825882 @default.
- W3199127130 cites W2141505892 @default.
- W3199127130 cites W2144160229 @default.
- W3199127130 cites W2145619371 @default.
- W3199127130 cites W2147650421 @default.
- W3199127130 cites W2147890340 @default.
- W3199127130 cites W2153036969 @default.
- W3199127130 cites W2159373783 @default.
- W3199127130 cites W2170577595 @default.
- W3199127130 cites W2183062003 @default.
- W3199127130 cites W2183882274 @default.
- W3199127130 cites W2294370068 @default.
- W3199127130 cites W2461846980 @default.
- W3199127130 cites W30585784 @default.
- W3199127130 cites W3099703838 @default.
- W3199127130 cites W4246191294 @default.
- W3199127130 cites W4256174789 @default.
- W3199127130 cites W800636375 @default.
- W3199127130 doi "https://doi.org/10.1145/3093333.3009874" @default.
- W3199127130 hasPublicationYear "2017" @default.
- W3199127130 type Work @default.
- W3199127130 sameAs 3199127130 @default.
- W3199127130 citedByCount "2" @default.
- W3199127130 countsByYear W31991271302017 @default.
- W3199127130 countsByYear W31991271302020 @default.
- W3199127130 crossrefType "journal-article" @default.
- W3199127130 hasAuthorship W3199127130A5004372652 @default.
- W3199127130 hasAuthorship W3199127130A5011793394 @default.
- W3199127130 hasAuthorship W3199127130A5084793944 @default.
- W3199127130 hasBestOaLocation W31991271301 @default.
- W3199127130 hasConcept C11413529 @default.
- W3199127130 hasConcept C134757568 @default.
- W3199127130 hasConcept C162319229 @default.
- W3199127130 hasConcept C186644900 @default.
- W3199127130 hasConcept C199360897 @default.
- W3199127130 hasConcept C2777062904 @default.
- W3199127130 hasConcept C2777904410 @default.
- W3199127130 hasConcept C2779818221 @default.
- W3199127130 hasConcept C41008148 @default.
- W3199127130 hasConcept C42383842 @default.
- W3199127130 hasConcept C42560504 @default.
- W3199127130 hasConcept C548217200 @default.
- W3199127130 hasConcept C79516417 @default.
- W3199127130 hasConcept C80444323 @default.
- W3199127130 hasConceptScore W3199127130C11413529 @default.
- W3199127130 hasConceptScore W3199127130C134757568 @default.
- W3199127130 hasConceptScore W3199127130C162319229 @default.
- W3199127130 hasConceptScore W3199127130C186644900 @default.
- W3199127130 hasConceptScore W3199127130C199360897 @default.
- W3199127130 hasConceptScore W3199127130C2777062904 @default.
- W3199127130 hasConceptScore W3199127130C2777904410 @default.
- W3199127130 hasConceptScore W3199127130C2779818221 @default.
- W3199127130 hasConceptScore W3199127130C41008148 @default.
- W3199127130 hasConceptScore W3199127130C42383842 @default.
- W3199127130 hasConceptScore W3199127130C42560504 @default.
- W3199127130 hasConceptScore W3199127130C548217200 @default.
- W3199127130 hasConceptScore W3199127130C79516417 @default.
- W3199127130 hasConceptScore W3199127130C80444323 @default.