Generics and verification in Ada

This paper explores the restrictions a mechanism in the style of the Ada generics facility would have to satisfy in order to be amenable to existing verification techniques. “Generic verification” is defined and defended as the appropriate goal for any such facility. Criteria are developed for generic verification to be possible and then Ada is evaluated with respect to these criteria. An example of the application of these techniques to an Ada unit is presented to show that generic verification is possible at least on a subclass of Ada generic units. Finally some potential applications of verified generic units are presented.