TY - JOUR
T1 - Experiences with software specification and verification using LP, the larch proof assistant
AU - Broy, Manfred
PY - 1996/5
Y1 - 1996/5
N2 - We sketch a method for deduction-oriented software and system development. The method incorporates formal machine-supported specification and verification as activities in software and systems development. We describe experiences in applying this method. These experiences have been gained by using the LP, the Larch proof assistant, as a tool for a number of small and medium size case studies for the formal development of software and systems. LP is used for the verification of the development steps. These case studies include • quicksort, • the majority vote problem, • code generation by a compiler and its correctness, • an interactive queue and its refinement into a network. The developments range over levels of requirement specifications, designs and abstract implementations. The main issues are questions of a development method and how to make good use of a formal tool like LP in a goal-directed way within the development. We further discuss the value of advanced specification techniques, most of which are deliberately not supported by LP and its notation, and their significance in development. Furthermore, we discuss issues of enhancement of a support system like LP and the value and the practicability of using formal techniques such as specification and verification in the development process in practice.
AB - We sketch a method for deduction-oriented software and system development. The method incorporates formal machine-supported specification and verification as activities in software and systems development. We describe experiences in applying this method. These experiences have been gained by using the LP, the Larch proof assistant, as a tool for a number of small and medium size case studies for the formal development of software and systems. LP is used for the verification of the development steps. These case studies include • quicksort, • the majority vote problem, • code generation by a compiler and its correctness, • an interactive queue and its refinement into a network. The developments range over levels of requirement specifications, designs and abstract implementations. The main issues are questions of a development method and how to make good use of a formal tool like LP in a goal-directed way within the development. We further discuss the value of advanced specification techniques, most of which are deliberately not supported by LP and its notation, and their significance in development. Furthermore, we discuss issues of enhancement of a support system like LP and the value and the practicability of using formal techniques such as specification and verification in the development process in practice.
KW - Formal methods
KW - Formal specification
KW - Larch
KW - Machine supported verification
UR - http://www.scopus.com/inward/record.url?scp=0030147728&partnerID=8YFLogxK
U2 - 10.1007/BF00709138
DO - 10.1007/BF00709138
M3 - Article
AN - SCOPUS:0030147728
SN - 0925-9856
VL - 8
SP - 221
EP - 272
JO - Formal Methods in System Design
JF - Formal Methods in System Design
IS - 3
ER -