TY - BOOK AU - Rameez Barakat Hamza TI - TRANS-COMPILER-BASED DATABASE CODE CONVERSION MODEL FOR NATIVE PLATFORMS AND LANGUAGES/ U1 - 627 PY - 2023/// KW - Software Engineering KW - NULIB KW - Dissertation, Academic N1 - 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 N2 - 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 ER -