TRANS-COMPILER-BASED DATABASE CODE CONVERSION MODEL FOR NATIVE PLATFORMS AND LANGUAGES/
Rameez Barakat Hamza
TRANS-COMPILER-BASED DATABASE CODE CONVERSION MODEL FOR NATIVE PLATFORMS AND LANGUAGES/ Rameez Barakat Hamza - 2023 - 118 p. ill. 21 cm.
Supervisor:
Ahmed Hassan
Thesis (M.A.)—Nile University, Egypt, 2023 .
"Includes bibliographical references"
Contents:
DEDICATION.................................................................................................................... v
ACKNOWLEDGEMENTS.............................................................................................. vii
LIST OF FIGURES ......................................................................................................... xiii
LIST OF TABLES............................................................................................................ xv
ACRONYMS.................................................................................................................. xvii
PUBLICATIONS............................................................................................................. xix
ABSTRACT..................................................................................................................... xxi
Chapter 1: INTRODUCTION ........................................................................................ 1
1.1. Problem Statement ....................................................................................1
1.2. Motivation .................................................................................................2
1.3. Aim of The Study......................................................................................6
1.4. Thesis Structure.........................................................................................7
Chapter 2: Background................................................................................................... 9
2.1. Introduction ...............................................................................................9
2.2. Mobile Application Development Background ......................................10
2.2.1. Native Mobile Development Overview.....................................................10
2.2.2. Cross-Platform Mobile Development Overview .......................................12
2.3. Cross-platform Development Approaches..............................................14
2.3.1. Compilation Approach...............................................................................14
2.3.2. Modeling Driven Approach .......................................................................15
2.3.3. Interpretation Approach ...........................................................................16
2.3.4. Component Based Approach.....................................................................16
2.4. Databases In Mobile Development .........................................................17
Chapter 3: LITERATURE VIEW ................................................................................ 21
3.1. Introduction .............................................................................................21
3.2. Library Mapping Tools ...........................................................................21
3.3. Related Work...........................................................................................23
Chapter 4: METHODOLOGY ..................................................................................... 27
4.1. Introduction ...........................................................................................27
4.2. Proposed Solution Architecture ...........................................................28
4.3. Case study I: Firebase Firestore with TCAIOSC....................................34
4.4. Enhanced Architecture For TCAIOSC ...................................................38
4.5. Case study II: Realm with Xamarin to Native Converter .......................45
4.6. Enhanced Architecture for Xamarin to Native Converter.......................47
4.7. Testing Methodology ..............................................................................53
4.7.1. Testing Lines of Code Conversion ............................................................. 54
4.7.2. Verification of Converted Functionality.................................................... 57
4.7.3. Test Applications....................................................................................... 60
Chapter 5: RESULTS AND DISCUSSION................................................................. 63
5.1. Introduction .............................................................................................63
5.2. Results of Firebase Firestore with TCAIOSC Tool ................................64
5.2.1. The Percentage of The Successful Conversion of Firestore Code............. 64
5.2.2. The Improvement of The Overall Conversion Rate for TCAIOSC.............. 67
5.2.3. Comparison Between Conversion Runtime Before and After Supporting
Firestore Code Conversion........................................................................................ 69
5.3. Results of Realm with Xamarin to Native Tool......................................71
5.3.1. The Percentage of The Successful Conversion of Realm Code ................. 71
5.3.2. The Improvement of The Overall Conversion Rate for Xamarin to Native
Converter.................................................................................................................. 74
Chapter 6: CONCLUSION AND FUTURE WORK ................................................... 77
6.1. Conclusion...............................................................................................77
6.2. Future Work ............................................................................................79
REFERENCES ................................................................................................................. 81
APPENDIX A FIRESTORE FUNCTIONALITY VERIFYING APPLICATION............... 85
Abstract:
Cross-platform mobile application development frameworks are now widely
used among software companies and developers. Despite their time and costeffectiveness, they still lack the performance and experience of natively developed
applications. Many research tools have been proposed to solve this problem by
converting a natively developed application from one platform to another. The
existing tools make important contributions and show promising results. Most of
these tools concentrated on converting the main components of programming
languages and graphical user interfaces (GUI). However, the support of database
libraries and their related backend code is not supported among the different tools.
The Trans-Compiler Based Android to iOS Converter (TCAIOSC) was one
of the proposed tools to convert the front-end and back-end code of Android Java
applications to iOS Swift applications. Another Trans-Compiler Based tool is
Xamarin to Native converter which was one of the proposed tools to convert the
front-end and back-end code of Cross-platform Xamarin application to native
Android Java and iOS Swift applications. Both of the previously mentioned tools
supported backend and frontend code components conversion. However, they
didn’t provide support for the conversion of database related code.
This thesis proposes a new database code conversion model based on transcompilation and pattern matching. The model can be used to support database
code conversion between native languages and platforms. The proposed model is
xxii
applied on TCAIOSC as case study (I) to support the conversion of Firebase
Firestore database code and on the Xamarin to Native converter tool to support the
conversion of Realm database code as case study (II). The conversion results for
the enhanced Models of the two tools after integrating it with the proposed
database code conversion model show a high accuracy for the converted database
related code and a noticeable improvement in the overall conversion results of the
tools.
Text in English, abstracts in English and Arabic
Software Engineering
Dissertation, Academic
627
TRANS-COMPILER-BASED DATABASE CODE CONVERSION MODEL FOR NATIVE PLATFORMS AND LANGUAGES/ Rameez Barakat Hamza - 2023 - 118 p. ill. 21 cm.
Supervisor:
Ahmed Hassan
Thesis (M.A.)—Nile University, Egypt, 2023 .
"Includes bibliographical references"
Contents:
DEDICATION.................................................................................................................... v
ACKNOWLEDGEMENTS.............................................................................................. vii
LIST OF FIGURES ......................................................................................................... xiii
LIST OF TABLES............................................................................................................ xv
ACRONYMS.................................................................................................................. xvii
PUBLICATIONS............................................................................................................. xix
ABSTRACT..................................................................................................................... xxi
Chapter 1: INTRODUCTION ........................................................................................ 1
1.1. Problem Statement ....................................................................................1
1.2. Motivation .................................................................................................2
1.3. Aim of The Study......................................................................................6
1.4. Thesis Structure.........................................................................................7
Chapter 2: Background................................................................................................... 9
2.1. Introduction ...............................................................................................9
2.2. Mobile Application Development Background ......................................10
2.2.1. Native Mobile Development Overview.....................................................10
2.2.2. Cross-Platform Mobile Development Overview .......................................12
2.3. Cross-platform Development Approaches..............................................14
2.3.1. Compilation Approach...............................................................................14
2.3.2. Modeling Driven Approach .......................................................................15
2.3.3. Interpretation Approach ...........................................................................16
2.3.4. Component Based Approach.....................................................................16
2.4. Databases In Mobile Development .........................................................17
Chapter 3: LITERATURE VIEW ................................................................................ 21
3.1. Introduction .............................................................................................21
3.2. Library Mapping Tools ...........................................................................21
3.3. Related Work...........................................................................................23
Chapter 4: METHODOLOGY ..................................................................................... 27
4.1. Introduction ...........................................................................................27
4.2. Proposed Solution Architecture ...........................................................28
4.3. Case study I: Firebase Firestore with TCAIOSC....................................34
4.4. Enhanced Architecture For TCAIOSC ...................................................38
4.5. Case study II: Realm with Xamarin to Native Converter .......................45
4.6. Enhanced Architecture for Xamarin to Native Converter.......................47
4.7. Testing Methodology ..............................................................................53
4.7.1. Testing Lines of Code Conversion ............................................................. 54
4.7.2. Verification of Converted Functionality.................................................... 57
4.7.3. Test Applications....................................................................................... 60
Chapter 5: RESULTS AND DISCUSSION................................................................. 63
5.1. Introduction .............................................................................................63
5.2. Results of Firebase Firestore with TCAIOSC Tool ................................64
5.2.1. The Percentage of The Successful Conversion of Firestore Code............. 64
5.2.2. The Improvement of The Overall Conversion Rate for TCAIOSC.............. 67
5.2.3. Comparison Between Conversion Runtime Before and After Supporting
Firestore Code Conversion........................................................................................ 69
5.3. Results of Realm with Xamarin to Native Tool......................................71
5.3.1. The Percentage of The Successful Conversion of Realm Code ................. 71
5.3.2. The Improvement of The Overall Conversion Rate for Xamarin to Native
Converter.................................................................................................................. 74
Chapter 6: CONCLUSION AND FUTURE WORK ................................................... 77
6.1. Conclusion...............................................................................................77
6.2. Future Work ............................................................................................79
REFERENCES ................................................................................................................. 81
APPENDIX A FIRESTORE FUNCTIONALITY VERIFYING APPLICATION............... 85
Abstract:
Cross-platform mobile application development frameworks are now widely
used among software companies and developers. Despite their time and costeffectiveness, they still lack the performance and experience of natively developed
applications. Many research tools have been proposed to solve this problem by
converting a natively developed application from one platform to another. The
existing tools make important contributions and show promising results. Most of
these tools concentrated on converting the main components of programming
languages and graphical user interfaces (GUI). However, the support of database
libraries and their related backend code is not supported among the different tools.
The Trans-Compiler Based Android to iOS Converter (TCAIOSC) was one
of the proposed tools to convert the front-end and back-end code of Android Java
applications to iOS Swift applications. Another Trans-Compiler Based tool is
Xamarin to Native converter which was one of the proposed tools to convert the
front-end and back-end code of Cross-platform Xamarin application to native
Android Java and iOS Swift applications. Both of the previously mentioned tools
supported backend and frontend code components conversion. However, they
didn’t provide support for the conversion of database related code.
This thesis proposes a new database code conversion model based on transcompilation and pattern matching. The model can be used to support database
code conversion between native languages and platforms. The proposed model is
xxii
applied on TCAIOSC as case study (I) to support the conversion of Firebase
Firestore database code and on the Xamarin to Native converter tool to support the
conversion of Realm database code as case study (II). The conversion results for
the enhanced Models of the two tools after integrating it with the proposed
database code conversion model show a high accuracy for the converted database
related code and a noticeable improvement in the overall conversion results of the
tools.
Text in English, abstracts in English and Arabic
Software Engineering
Dissertation, Academic
627