Programming by Refinement, as Exemplified by the SETL Representation Sublanguage
ACM Transactions on Programming Languages and Systems (TOPLAS)
Modular Pluggable Analyses for Data Structure Consistency
IEEE Transactions on Software Engineering
Modular data structure verification
Modular data structure verification
Full functional verification of linked data structures
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
An algebraic definition of simulation between programs
IJCAI'71 Proceedings of the 2nd international joint conference on Artificial intelligence
Combining theories with shared set operations
FroCoS'09 Proceedings of the 7th international conference on Frontiers of combining systems
Generalized typestate checking for data structure consistency
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
Hi-index | 0.00 |
Verified data abstraction. Data abstraction has long been recognized as a methodology to decompose the verification problem into data structure implementation and the algorithm that uses the data structure [3, 8]. Today we are close to being in a position to incorporate verified data abstraction into programming languages and systems. We discuss the ingreedients needed to make verified data abstraction practical: program verification, specification-based testing, program analysis, programming methodology, as well as programming language design. We draw our examples from the systems Hob [5] and Jahob [4, 12] that implement verified data abstractions, as well as our recent work on verifying properties of Scala programs [2].