000 08636nam a22002537a 4500
008 201210b2023 a|||f bm|| 00| 0 eng d
040 _aEG-CaNU
_cEG-CaNU
041 0 _aeng
_beng
_bara
082 _a627
100 0 _aRameez Barakat Hamza
_93130
245 1 _aTRANS-COMPILER-BASED DATABASE CODE CONVERSION MODEL FOR NATIVE PLATFORMS AND LANGUAGES/
_cRameez Barakat Hamza
260 _c2023
300 _a118 p.
_bill.
_c21 cm.
500 _3Supervisor: Ahmed Hassan
502 _aThesis (M.A.)—Nile University, Egypt, 2023 .
504 _a"Includes bibliographical references"
505 0 _aContents: 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
520 3 _aAbstract: 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.
546 _aText in English, abstracts in English and Arabic
650 4 _aSoftware Engineering
_9211
655 7 _2NULIB
_aDissertation, Academic
_9187
690 _aSoftware Engineering
_9211
942 _2ddc
_cTH
999 _c10249
_d10249