Title :
Linking Object-Z with Spec#
Author :
Qin, Shengchao ; He, Guanhua
Author_Institution :
Durham Univ., Durham
Abstract :
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.
Keywords :
formal languages; formal specification; object-oriented languages; program verification; refinement calculus; automated program refinement calculi; correct-by-construction method; formal specification; high level specification language object-Z; high-level formal language; model checking; object-oriented specification language Spec#; software development; software engineering; Couplings; Formal languages; Formal specifications; Forward contracts; Joining processes; Object oriented modeling; Programming; Software engineering; Software systems; Specification languages; Formal specification; Object-Z; Spec#; pre/post conditions.; verification;
Conference_Titel :
Engineering Complex Computer Systems, 2007. 12th IEEE International Conference on
Conference_Location :
Auckland
Print_ISBN :
0-7695-2895-3
DOI :
10.1109/ICECCS.2007.27