Equational Reasoning about Object-Oriented Programs


Autoria(s): Hossain, Md. Nour
Contribuinte(s)

Department of Computer Science

Data(s)

08/04/2013

08/04/2013

08/04/2013

Resumo

Formal verification of software can be an enormous task. This fact brought some software engineers to claim that formal verification is not feasible in practice. One possible method of supporting the verification process is a programming language that provides powerful abstraction mechanisms combined with intensive reuse of code. In this thesis we present a strongly typed functional object-oriented programming language. This language features type operators of arbitrary kind corresponding to so-called type protocols. Sub classing and inheritance is based on higher-order matching, i.e., utilizes type protocols as basic tool for reuse of code. We define the operational and axiomatic semantics of this language formally. The latter is the basis of the interactive proof assistant VOOP (Verified Object-Oriented Programs) that allows the user to prove equational properties of programs interactively.

Identificador

http://hdl.handle.net/10464/4258

Palavras-Chave #Software verification #Computer programming language