A method for inferring the shape and dimension of arrays for high-level,
array-based languages such as MATLAB is presented. The method uses the
algebraic properties that underlie MATLAB's shape semantics and infers
the shape that the program expression assumes. In one embodiment, a
shape-tuple of the result of a program expression is inferred by creating
a shape-tuple expression comprising the shape-tuples of the operands and
the shape-tuple operator.