Abstraction and specification in program development
Abstraction and specification in program development
Formal Verification of Ada Programs
IEEE Transactions on Software Engineering
Larch: languages and tools for formal specification
Larch: languages and tools for formal specification
Exploiting specifications to improve program performance
Exploiting specifications to improve program performance
Semantic analysis of Larch Interface Specifications
Proceedings of the first First International Workshop on Larch
Preliminary Design of Larch/C++
Proceedings of the first First International Workshop on Larch
Automatic Detection of C{\tt ++}Programming Errors: Initial Thoughts on a {\sf lint{\tt ++}}
Automatic Detection of C{\'tt ++}Programming Errors: Initial Thoughts on a {\'sf lint{\'tt ++}}
A TWO-TIERED APPROACH TO SPECIFYING PROGRAMS
A TWO-TIERED APPROACH TO SPECIFYING PROGRAMS
The Stanford ADA style checker: an application of the ANNA tools and methodology
The Stanford ADA style checker: an application of the ANNA tools and methodology
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
Preliminary design of JML: a behavioral interface specification language for java
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.01 |
We suggest a novel application of a formal specification language: we use it to support some programming conventions and encourage certain styles of programming. The Larch/C Interface Language (LCL) is a language for documenting the interfaces of ANSI C programs. It is designed to support a style of c programming where a program is organized around a set of software modules. Even though C does not support abstract data types, LCL supports the specifications of abstract data types, and provides guidelines on how abstract types can be implemented in C. A lint-like program checks for some conformance of C code to its LCL specification.