This is a PhD project in the frame of the Doctoral Program "Computational Mathematics" of the Johannes Kepler University Linz. It started on October 1, 2009.
The goal of this PhD project is research on a semantic framework and supporting tools for the formal specification of computer algebra software written in statically untyped programming languages for the manipulation of expressions as they are used in the major computer algebra systems today. The focus of the work is to apply formal methods, rather than for verifying the correctness of the software, for finding and avoiding internal inconsistencies, in particular violations of method preconditions, which are typical indications of errors in the software (or at least of a lack of understanding of the developer).