Evaluating Generalized Tabular Expressions in Software Documentation

Ms. Ruth Abraham

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


Abstract

This thesis presents a generalized model of tabular expressions used in software documentation, and describes how this model has been applied to build a tool that evaluates a broad class of expressions. Tabular notation is used in software documentation to improve the readability of complex mathematical relations [12]. By making expressions easier to parse and removing many of the common sub-expressions, tabular representations make the use of mathematics practical for the description of computer systems. Many different forms of tabular notation are in use, but instead of providing a separate semantics for each, this thesis presents a general table model that encompasses many different types of tables. Within this model, a tabular expression may be identified as either a normal table, an inverted table, a vector table, or a decision table. The interpretations of many sample tables are given for tabular notations used in the nuclear and aviation industries.

The design of a table interpretation storage method for the Table Tool System, and an expression evaluation tool are discussed. The Table Tool System supports the production of software documentation through an integrated set of tools [23]. The evaluation code generator tool generates code to evaluate any tabular expression whose interpretation is defined using the general table model - including new table types - and is an adaptation of the Test Oracle Generator [20]. Such a tool may be used to check a requirements specification, or to test a software implementation against its documented specification, thereby increasing the value of formal software documentation.