The nuggetizer: Abstracting away higher-orderness for program verification

0Citations
Citations of this article
1Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We develop a static analysis which distills first-order computational structure from higher-order functional programs. The analysis condenses higher-order programs into a first-order rule-based system, a nugget, that characterizes all value bindings that may arise from program execution. Theorem provers are limited in their ability to automatically reason about higher-order programs; nuggets address this problem, being inductively defined structures that can be simply and directly encoded in a theorem prover. The theorem prover can then prove non-trivial program properties, such as the range of values assignable to particular variables at runtime. Our analysis is flow- and path-sensitive, and incorporates a novel prune-rerun analysis technique to approximate higher-order recursive computations. © Springer-Verlag Berlin Heidelberg 2007.

Cite

CITATION STYLE

APA

Shroff, P., Skalka, C., & Smith, S. F. (2007). The nuggetizer: Abstracting away higher-orderness for program verification. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 4807 LNCS, pp. 2–18). Springer Verlag. https://doi.org/10.1007/978-3-540-76637-7_2

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free