QuickCheck: a lightweight tool for random testing of Haskell programs
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
The Definition of Standard ML
HOL Light: A Tutorial Introduction
FMCAD '96 Proceedings of the First International Conference on Formal Methods in Computer-Aided Design
NixOS: a purely functional Linux distribution
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Proceedings of the first ACM SIGPLAN symposium on Haskell
Real World Haskell
From higher-order logic to Haskell: there and back again
Proceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulation
The open theory standard theory library
NFM'11 Proceedings of the Third international conference on NASA Formal methods
Formal verification of monad transformers
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
Maintaining software in the face of evolving dependencies is a challenging problem, and in addition to good release practices there is a need for automatic dependency analysis tools to avoid errors creeping in. Verified software reveals more semantic information in the form of mechanized proofs of functional specifications, and this can be used for dependency analysis. In this paper we present a scheme for automatic dependency analysis of verified software, which for each program checks that the collection of installed libraries is sufficient to guarantee its functional correctness. We illustrate the scheme with a case study of Haskell packages verified in higher order logic. The dependency analysis reduces the burden of maintaining verified Haskell packages by automatically computing version ranges for the packages they depend on, such that any combination provides the functionality required for correct operation.