UVicSpace

Ephedra: a C to Java migration environment

Show simple item record

dc.contributor.author Martin, Johannes
dc.date.accessioned 2018-10-30T19:05:42Z
dc.date.available 2018-10-30T19:05:42Z
dc.date.copyright 2002 en_US
dc.date.issued 2018-10-30
dc.identifier.uri https://dspace.library.uvic.ca//handle/1828/10202
dc.description.abstract The Internet has grown in popularity in recent years, and thus it has gained importance for many current businesses. They need to offer their products and services through their Web sites. To present not only static content but also interactive services, the logic behind these services needs to be programmed. Various approaches for programming Web services exist. The Java programming language can be used to implement Web services that run both on Internet clients and servers, either exclusively or in interaction with each other. The Java programming language is standardised across computing platforms and has matured over the past few years, and is therefore a popular choice for the implementation of Web services. The amount of available and well-tested Java source code is still small compared to other programming languages. Rather than taking the risks and costs of redeveloping program libraries, it is often preferable to move the core logic of existing solutions to Java and then integrate it into Java programs that present the services in a Web interface. In this Ph.D. dissertation, we survey and evaluate a selection of current approaches to the migration of source code to Java. To narrow the scope of the dissertation to a reasonable limit, we focus on the C and C++ programming languages as the source languages. Many mature programs and program libraries exist in these languages. The survey of current migration approaches reveals a number of their restrictions and disadvantages in the context of moving program libraries to Java and integrating them with Java programs. Using the experiences from this survey, we established a number of goals for an improved migration approach and developed the Ephedra approach by closely following these goals. To show the practicality of this approach, we implemented an automated tool that performs the migration according to the Ephedra approach and evaluated the migration process and its result with respect to the goals we established using selected case studies. Ephedra provides a high degree of automation for the migration process while letting the software-engineer make decisions where multiple choices are possible. A central problem in the migration from C to Java is the trans formation of C pointers to Java references. Ephedra provides two different strategies for this transformation and explains their applicability to subject systems. The code resulting from a migration with Ephedra is maintainable and functionally equivalent to the original code save some well documented exceptions. Performance trade-offs are analysed and evaluated in the light of the intended subject systems. en_US
dc.language English eng
dc.language.iso en en_US
dc.rights Available to the World Wide Web en_US
dc.subject Computer hardware description languages en_US
dc.subject Methodology en_US
dc.subject Specifications en_US
dc.title Ephedra: a C to Java migration environment en_US
dc.type Thesis en_US
dc.contributor.supervisor Müller, Hausi A.
dc.degree.department Department of Computer Science en_US
dc.degree.level Doctor of Philosophy Ph.D. en_US
dc.description.scholarlevel Graduate en_US


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search UVicSpace


Browse

My Account

Statistics

Help