Report on the Larch shared language
Science of Computer Programming
A Larch shared language handbook
Science of Computer Programming
On observational equivalence and algebraic specification
Proc. of the international joint conference on theory and practice of software development (TAPSOFT) Berlin, March 25-29, 1985 on Mathematical foundations of software development, Vol. 1: Colloquium on trees in algebra and programming (CAAP'85)
Logic and computation: interactive proof with Cambridge LCF
Logic and computation: interactive proof with Cambridge LCF
A computational logic handbook
A computational logic handbook
Inductive methods for reasoning about abstract data types
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Ontic: a knowledge representation system for mathematics
Ontic: a knowledge representation system for mathematics
Complete Sets of Reductions for Some Equational Theories
Journal of the ACM (JACM)
Formal specification as a design tool
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Localized Verification of Circuit Descriptions
Proceedings of the International Workshop on Automatic Verification Methods for Finite State Systems
An Overview of LP, The Larch Power
RTA '89 Proceedings of the 3rd International Conference on Rewriting Techniques and Applications
Using Larch to Specify Avalon/C++ Objects
IEEE Transactions on Software Engineering
HOPL-II The second ACM SIGPLAN conference on History of programming languages
Elements of style: analyzing a software design feature with a counterexample detector
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
Elements of Style: Analyzing a Software Design Feature with a Counterexample Detector
IEEE Transactions on Software Engineering - Special issue: best papers of the 1996 international symposium on software testing and analysis ISSTA'96
Faster checking of software specifications by eliminating isomorphs
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Object-oriented formal specifications to support Ada 95 reuse
Proceedings of the conference on TRI-Ada '96: disciplined software development with Ada
Towards reuse of verified Ada software
TRI-Ada '90 Proceedings of the conference on TRI-ADA '90
Aspect: an economical bug-detector
ICSE '91 Proceedings of the 13th international conference on Software engineering
Using Term Rewriting to Verify Software
IEEE Transactions on Software Engineering
Concept Use or Concept Refinement: An Important Distinction in Building Generic Specifications
ICFEM '02 Proceedings of the 4th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Enhancing the Pre- and Postcondition Technique for More Expressive Specifications
FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume II
Enhancing the Object Constraint Language for More Expressive Specifications
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
Using fault injection to increase software test coverage
ISSRE '96 Proceedings of the The Seventh International Symposium on Software Reliability Engineering
History of programming languages---II
Hi-index | 0.00 |
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.