Font Size: a A A

Implementation of contracts in wrapper generation tools

Posted on:2006-04-23Degree:Ph.DType:Dissertation
University:The University of ChicagoCandidate:Feng, SongyanFull Text:PDF
GTID:1458390008457179Subject:Computer Science
Abstract/Summary:
Reliability is an important issue in software development. Using contracts, especially the technique of Design by Contract, is a classic approach to build reliable software. Contract programming uses rules, normally in the form of assertions (called contracts), as specifications that enforce important properties of the program's behavior.; Although contracts/assertions are widely used in various applications, there is no contract support in wrapper generation tools. Wrapper is extra code that acts as an interface between its caller and the wrapped code. Wrapper Generation is to introduce a layer of wrapper code around existing code to support the inter-communication between two different systems. Wrapper generation tools are used to automate this process. As many legacy libraries and applications (such as native C/C++ code) do not have contracts and many developers are reusing legacy code by adding wrappers, it is possible and necessary to put contracts in the wrappers.; Our approach fills this gap by adding contracts to interfaces while binding existing non-reliable code using our wrapper generator SWIG. In this way, we introduce a new approach of contract implementation of providing contracts to legacy code through wrapper generators. With this approach, we can also wrap code with contracts written by clients or third parties without modification of the original code, so that contracts do not need to be hard-coded in the original module.
Keywords/Search Tags:Contracts, Wrapper generation, Code
Related items