The Omnibus language and integrated verification approach
Saved in:
| Title: | The Omnibus language and integrated verification approach |
|---|---|
| Authors: | Wilson, Thomas |
| Committee Members: | Maharaj, Savi; Clark, Robert George |
| Summary: | This thesis describes the Omnibus language and its supporting framework of tools. Omnibus is an object-oriented language which is superficially similar to the Java programming language but uses value semantics for objects and incorporates a behavioural interface specification language. Specifications are defined in terms of a subset of the query functions of the classes for which a frame-condition logic is provided. The language is well suited to the specification of modelling types and can also be used to write implementations. An overview of the language is presented and then specific aspects such as subtleties in the frame-condition logic, the implementation of value semantics and the role of equality are discussed. The challenges of reference semantics are also discussed. The Omnibus language is supported by an integrated verification tool which provides support for three assertion-based verification approaches: run-time assertion checking, extended static checking and full formal verification. The different approaches provide different balances between rigour and ease of use. The Omnibus tool allows these approaches to be used together in different parts of the same project. Guidelines are presented in order to help users avoid conflicts when using the approaches together. The use of the integrated verification approach to meet two key requirements of safe software component reuse, to have clear descriptions and some form of certification, are discussed along with the specialised facilities provided by the Omnibus tool to manage the distribution of components. The principles of the implementation of the tool are described, focussing on the integrated static verifier module that supports both extended static checking and full formal verification through the use of an intermediate logic. The different verification approaches are used to detect and correct a range of errors in a case study carried out using the Omnibus language. The case study is of a library system where copies of books, CDs and DVDs are loaned out to members. The implementation consists of 2278 lines of Omnibus code spread over 15 classes. To allow direct comparison of the different assertion-based verification approaches considered, run-time assertion checking, extended static checking and then full formal verification are applied to the application in its entirety. This directly illustrates the different balances between error coverage and ease-of-use which the approaches offer. Finally, the verification policy system is used to allow the approaches to be used together to verify different parts of the application. |
| URL: | http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.513611 |
| Database: | OpenDissertations |
| FullText | Text: Availability: 0 |
|---|---|
| Header | DbId: ddu DbLabel: OpenDissertations An: ddu.oai.ethos.bl.uk.513611 AccessLevel: 6 PubType: Dissertation/ Thesis PubTypeId: dissertation PreciseRelevancyScore: 0 |
| IllustrationInfo | |
| Items | – Name: Title Label: Title Group: Ti Data: The Omnibus language and integrated verification approach – Name: Author Label: Authors Group: Au Data: <searchLink fieldCode="AR" term="%22Wilson%2C+Thomas%22">Wilson, Thomas</searchLink> – Name: Author Label: Committee Members Group: Au Data: <searchLink fieldCode="CO" term="%22Maharaj%2C+Savi%22">Maharaj, Savi</searchLink>; <searchLink fieldCode="CO" term="%22Clark%2C+Robert+George%22">Clark, Robert George</searchLink> – Name: Abstract Label: Summary Group: Ab Data: This thesis describes the Omnibus language and its supporting framework of tools. Omnibus is an object-oriented language which is superficially similar to the Java programming language but uses value semantics for objects and incorporates a behavioural interface specification language. Specifications are defined in terms of a subset of the query functions of the classes for which a frame-condition logic is provided. The language is well suited to the specification of modelling types and can also be used to write implementations. An overview of the language is presented and then specific aspects such as subtleties in the frame-condition logic, the implementation of value semantics and the role of equality are discussed. The challenges of reference semantics are also discussed. The Omnibus language is supported by an integrated verification tool which provides support for three assertion-based verification approaches: run-time assertion checking, extended static checking and full formal verification. The different approaches provide different balances between rigour and ease of use. The Omnibus tool allows these approaches to be used together in different parts of the same project. Guidelines are presented in order to help users avoid conflicts when using the approaches together. The use of the integrated verification approach to meet two key requirements of safe software component reuse, to have clear descriptions and some form of certification, are discussed along with the specialised facilities provided by the Omnibus tool to manage the distribution of components. The principles of the implementation of the tool are described, focussing on the integrated static verifier module that supports both extended static checking and full formal verification through the use of an intermediate logic. The different verification approaches are used to detect and correct a range of errors in a case study carried out using the Omnibus language. The case study is of a library system where copies of books, CDs and DVDs are loaned out to members. The implementation consists of 2278 lines of Omnibus code spread over 15 classes. To allow direct comparison of the different assertion-based verification approaches considered, run-time assertion checking, extended static checking and then full formal verification are applied to the application in its entirety. This directly illustrates the different balances between error coverage and ease-of-use which the approaches offer. Finally, the verification policy system is used to allow the approaches to be used together to verify different parts of the application. – Name: URL Label: URL Group: URL Data: <link linkTarget="URL" linkTerm="http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.513611" linkWindow="_blank">http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.513611</link> |
| PLink | https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=ddu&AN=ddu.oai.ethos.bl.uk.513611 |
| RecordInfo | BibRecord: BibEntity: Languages: – Code: eng Text: English Subjects: – SubjectFull: 005.13 Type: general – SubjectFull: assertion-based verification : run-time assertion checking : extended static checking : full formal verification : verification policies : Omnibus : Omnibus (Computer program language) : Computer programs Verification Type: general Titles: – TitleFull: The Omnibus language and integrated verification approach Type: main BibRelationships: HasContributorRelationships: – PersonEntity: Name: NameFull: Wilson, Thomas IsPartOfRelationships: – BibEntity: Dates: – D: 01 M: 01 Type: published Y: 2007 |
| ResultId | 1 |