Issue No.09 - September (1990 vol.16)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.58789
<p>The checkability designed into the LSL (Larch shared language) is described, and two tools that help perform the checking are discussed. LP (the Larch power) is the principal debugging tool. Its design and development have been motivated primarily by work on LSL, but it also has other uses (e.g. reasoning about circuits and concurrent algorithms). Because of these other uses, and because they also tend to use LP to analyze Larch interface specifications, the authors have tried not to make LP too LSL-specific. Instead, they have chosen to build a second tool, LSLC (the LSL checker), to serve as a front-end to LP. LSLC checks the syntax and static semantics of LSL specifications and generates LP proof obligations from their claims. These proof obligations fall into three categories: consistency (that a specification does not contradict itself), theory containment (that a specification has intended consequences), and relative completeness (that a set of operators is adequately defined). An extended example illustrating how LP is used to debug LSL specifications is presented.</p>
Larch shared language specifications; debugging; checkability; Larch power; design; development; concurrent algorithms; static semantics; consistency; theory containment; formal specification; inference mechanisms; parallel programming; program debugging.
S.J. Garland, J.V. Guttag, J.J. Horning, "Debugging Larch Shared Language Specifications", IEEE Transactions on Software Engineering, vol.16, no. 9, pp. 1044-1057, September 1990, doi:10.1109/32.58789