Specialization: An Approach to Simplifying Tables in Software Documentation

Ms. Preeti Rastogi

Software Engineering Research Group
CRL, McMaster University,
Hamilton, Ontario, Canada L8S 4K1


Precise mathematical documentation plays a crucial role in safety critical, mission critical, and finance critical software where the cost of failure is very high either in terms of money or human life. Good documentation is an important component of software and is absolutely necessary for maintenance. Tabular notation advocated by Parnas et al. has been found to be more readable and easy to understand when compared to conventional mathematical representations.

Tables can sometimes be complex and difficult to comprehend. In such cases "specialization" can simplify them. Some tables can be simplified without loss of generality. For others specialization may be used. Specialization is a technique that reduces the domain for which the expression is valid. For tabular expressions, specialization may allow the removal of rows and/or columns when the domain of predicate (condition) sub-expressions is outside the domain under consideration. User defined constraints narrow the domain under consideration. Specialization may result in several tables depending on the constraints, but each table is usually simpler than the original.

This work involves the design and development of a prototype tool to help in understanding specialization and simplification. This tool helps to test intermediate results involving partial evaluation of the mathematical expression.