University of Oulu

An experimental evaluation of Java Design-by-Contract extensions

Saved in:
Author: Aghaei, Majid1
Organizations: 1University of Oulu, Faculty of Information Technology and Electrical Engineering, Department of Information Processing Science, Information Processing Science
Format: ebook
Version: published version
Access: open
Online Access: PDF Full Text (PDF, 2.4 MB)
Pages: 73
Persistent link: http://urn.fi/URN:NBN:fi:oulu-201812063243
Language: English
Published: Oulu : M. Aghaei, 2018
Publish Date: 2018-12-10
Thesis type: Master's thesis
Tutor: Siirtola, Antti
Reviewer: Vesanen, Ari
Siirtola, Antti
Description:
Design by Contract (DbC), also referred as Programming by Contract is a programming paradigm for software verification proposed by Bertrand Meyer. The idea is to put obligations for code elements such as methods, interfaces and classes to satisfy the specification of the source code. Indeed, DbC enforces a piece of code to satisfy some conditions before execution (Precondition), and to ensure some conditions after execution (Postcondition) with holding some conditions unchanged (Invariant). This settlement is called Contract which must be valid for that piece of code. According to Meyer’s paradigm, a program can work correctly if it fulfills DbC principles for each method. To empower programmers with DbC, various libraries are made to make DbC possible in coding phase each of which is applicable in a specific programming language and has some features and functionalities. However, choosing the most suitable tool for coding upon a particular purpose is considerably important for development teams with software validation deployment. This thesis aimed to experimentally evaluate and compare DbC instrumentors specially for Java and figure out that which tool had better performance. In order to accomplish such a task, a simple model system had to be designed and implemented with regard to using constraining principles of mentioned tools. The scrutiny of the extensions revealed that Open JML as a powerful framework has generated better results rather than other tools. However, the results of this research is viable for small projects deploying constraining tools.
see all

Subjects:
Copyright information: © Majid Aghaei, 2018. This publication is copyrighted. You may download, display and print it for your own personal use. Commercial use is prohibited.