12th IEEE International Conference on Engineering Complex Computer Systems (ICECCS 2007) Linking Object-Z with Spec# Auckland, New Zealand July 11-July 14 ISBN: 0-7695-2895-3
Formal specifications have been a focus of software engineering research for many years and have been applied in a wide variety of settings. Their use in software engineering not only promotes high-level verification via theorem proving or model checking, but also inspires the "correct-by-construction" approach to software development via formal refinement. Although this correct-by-construction method proves to work well for small software systems, it is still a utopia in the development of large and complex software systems. This paper moves one step forward in this direction by designing and implementing a sound linkage between the high level specification language Object-Z and the object-oriented specification language Spec#. Such a linkage would allow system requirements to be specified in a high-level formal language but validated and used in program language level. This linking process can be readily integrated with an automated program refinement procedure to achieve correctness-by-construction. In case no such procedures are applicable, the obtained contract-based specification can guide programmers to manually generate program code, which can then be verified against the obtained specification using any available program verifiers.
Index Terms:
Formal specification, Object-Z, Spec#, verification, pre/post conditions.
Citation:
Shengchao Qin, Guanhua He, "Linking Object-Z with Spec#," iceccs, pp.185-196, 12th IEEE International Conference on Engineering Complex Computer Systems (ICECCS 2007), 2007 Usage of this product signifies your acceptance of the Terms of Use. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||