Abstract
We define a general notion of set-based analysis - any language whose operational semantics is defined by environment evaluation has a well defined set-based abstraction. This general definition covers both Aiken and Wimmers' type system and Heintze' set-based analysis. Aiken and Wimmers give a nondeterministic exponential time algorithm for their analysis. Heintze gives an O(n3) procedure. We show that this discrepancy is due to the complexity of the case statements analyzed. For polymorphic programs with deep patterns in case statements (as in the Aiken-Wimmers language) we show that the problem of determining type-safety under set-based abstraction is complete for deterministic exponential time. The problem remains complete for deterministic exponential time for programs without let (monovariant programs). However, for monovariant programs in which all patterns in case statements are shallow, as in the Heintze language, type-safety under set-based abstraction is decidable in cubic time. We give five additional theorems which (nearly exhaustively) characterize the time complexity of set-based analysis as a function of the complexity of case statements.
Cite
CITATION STYLE
Heintze, N., & McAllester, D. (1997). On the Complexity of Set-Based Analysis. SIGPLAN Notices (ACM Special Interest Group on Programming Languages), 32(8), 150–163. https://doi.org/10.1145/258949.258963
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.