Generic algorithms are algorithms designed to work with a variety of data structures. A software library in which most algorithms are generic can thus provide very extensive capabilities with a relatively small amount of source code. The high initial cost of applying formal methods to generic components becomes reasonable when amortized over the many different uses that can later be made. This paper is an attempt to provide a foundation for formal specification and verification of generic algorithms, paying particular attention to supporting the techniques by which generality is achieved in the C++ Standard Template Library. Axioms and inference rules are presented that support reasoning about essentially all the C++ language features and S...
Abstract. Verifying general properties of full-featured C++ code is be-yond the scope of current mod...
The choice of requirements for an argument of a generic type or algorithm is a central design issue ...
The design and maintenance of large computational science systems can be aided greatly by the use of...
Abstract. Generic programming is a paradigm for systematic design and classification of software com...
AbstractA key benefit of generic programming is its support for producing modules with clean separat...
The mCRL2 tool set [GKM+08] is a tool set for verification and validation of concurrent processes, b...
Generic programming has recently emerged as a paradigm for developing highly reusable software libra...
Generic programming has emerged as an important technique for the development of highly reusable and...
We outline an approach to construction of software libraries in which generic algorithms (algorithmi...
Abstract. Algorithms in computer algebra lend themselves naturally to the software design method of ...
Generic programming consists of increasing the expressiveness of programs by allowing a wider variet...
Generic programming has emerged as an important technique for the development of highly reusable and...
Abstract The generic programming paradigm has exerted great influence on the recent development of C...
AbstractThe C++ Standard Template Library is a widely-used library that is based on the generic prog...
Generic programming is an indispensable ingredient of modern programming languages. In the C++ prog...
Abstract. Verifying general properties of full-featured C++ code is be-yond the scope of current mod...
The choice of requirements for an argument of a generic type or algorithm is a central design issue ...
The design and maintenance of large computational science systems can be aided greatly by the use of...
Abstract. Generic programming is a paradigm for systematic design and classification of software com...
AbstractA key benefit of generic programming is its support for producing modules with clean separat...
The mCRL2 tool set [GKM+08] is a tool set for verification and validation of concurrent processes, b...
Generic programming has recently emerged as a paradigm for developing highly reusable software libra...
Generic programming has emerged as an important technique for the development of highly reusable and...
We outline an approach to construction of software libraries in which generic algorithms (algorithmi...
Abstract. Algorithms in computer algebra lend themselves naturally to the software design method of ...
Generic programming consists of increasing the expressiveness of programs by allowing a wider variet...
Generic programming has emerged as an important technique for the development of highly reusable and...
Abstract The generic programming paradigm has exerted great influence on the recent development of C...
AbstractThe C++ Standard Template Library is a widely-used library that is based on the generic prog...
Generic programming is an indispensable ingredient of modern programming languages. In the C++ prog...
Abstract. Verifying general properties of full-featured C++ code is be-yond the scope of current mod...
The choice of requirements for an argument of a generic type or algorithm is a central design issue ...
The design and maintenance of large computational science systems can be aided greatly by the use of...