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
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.