Robust, generic, modularly-verified map
Derek Bronish, Hampton Smith · 2011
Maps are a fundamental component in the development of modern software. The ability to associate keys with values in the manner of a partial mathematical function is important for a wide range of applications, and also accommodates a broad variety of implementations with diverse performance profiles. The foundational-yet-sophisticated nature of this problem makes it an ideal benchmark for software verification efforts. A tension between modular reasoning and the usefulness of the component can be observed particularly in systems where the keys may be reference types. Criteria for modular verification of a robust map component are elaborated, and existing attempts to verify a map component are surveyed.