Title :
Debugging Larch shared language specifications
Author :
Garland, Stephen J. ; Guttag, V. ; Horning, James J.
Author_Institution :
Lab. for Comput. Sci., MIT, Cambridge, MA, USA
fDate :
9/1/1990 12:00:00 AM
Abstract :
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
Keywords :
formal specification; inference mechanisms; parallel programming; program debugging; Larch power; Larch shared language specifications; checkability; concurrent algorithms; consistency; debugging; design; development; static semantics; theory containment; Algorithm design and analysis; Buildings; Costs; Crops; Debugging; Formal specifications; Laboratories; Logic testing; Modular construction; Specification languages;
Journal_Title :
Software Engineering, IEEE Transactions on