000 09383nam a22002537a 4500
008 210830s2021 |||||||f mb|| 00| 0 eng d
040 _aEG-CaNU
_cEG-CaNU
041 0 _aeng
_beng
082 _a627
100 0 _aAhmad Ahmad Muhammad
_9569
245 1 _aA Generic Trans-Compiler Based Approach for Mobile Application Code Conversion /
_cAhmad Ahmad Muhammad
260 _c2021
300 _a 78 p.
_bill.
_c21 cm.
500 _aSupervisor: Ahmad Hassan
502 _aThesis (M.A.)—Nile University, Egypt, 2021 .
504 _a"Includes bibliographical references"
505 0 _aContents: Chapter 1: Introduction ................................................................................ 1 1.1 Problem Statement ........................................................................................................ 1 1.2 Background .................................................................................................................... 2 1.3 Motivation ..................................................................................................................... 3 1.4 Significance of the study ................................................................................................ 5 Chapter 2: Literature Review ....................................................................... 7 2.1 Historical background of Mobile Applications ............................................................... 7 2.1.1 Overview, Impact, and Evolution ................................................................................................ 7 2.1.2 Goals of a mobile application ...................................................................................................... 9 2.1.3 Advantages of mobile applications ............................................................................................10 2.1.4 Disadvantagesofmobileapplications ...........................................................................................11 2.2 Android Vs. iOS .............................................................................................................11 2.2.1 Development language and IDE .................................................................................................12 2.2.2 Design principles .......................................................................................................................13 2.2.3 Monetization Strategy ...............................................................................................................14 2.2.4 Development complexity and speed ..........................................................................................15 2.2.5 Cost of development and deployment speed .............................................................................16 2.2.6 Market share .............................................................................................................................16 2.2.7 Choosing the platform for development ....................................................................................18 2.3 Native mobile development .........................................................................................19 2.4 Cross-platform Mobile development: ...........................................................................19 2.4. 1 Cross-platform mobile development Approaches......................................................................20 2.5 Previous works..............................................................................................................26 2.5.1 Cross-platforms Previous Works ................................................................................................26 2.5.2 Library Mapping Previous Works ...............................................................................................29 Chapter 3: Methodology ............................................................................ 33 3.1 Trans-compiler Based Mobile Application Conversion Phase .......................................34 3.1.2 Limitations of Phase 1 ...............................................................................................................37 3.2 Generic Manual Library Mapping Approach Phase .......................................................38 3.2.1 The Proposed Library Mapping Approach ..................................................................................38 3.2.2 Improved Trans-compiler based Mobile Application Code converter ..........................................39 3.2.2 Limitations of Phase 2 ...............................................................................................................43 3.3 Automatic Library Generalization Approach Phase .......................................................44 3.3.1 Data Collection ..........................................................................................................................44 3.3.2 Encoding Table ..........................................................................................................................46 3.3.3 Similarity matching ....................................................................................................................47 3.3.4 Mandatory matching .................................................................................................................47 3.3.5 Optional matching .....................................................................................................................48 3.3.6 Automatic Mapping Algorithm...................................................................................................49 vii Chapter 4: Results and Discussion.............................................................. 51 4.1 Evaluation Techniques ..................................................................................................51 4.1.1 Token accuracy .....................................................................................................................51 4.1.2 BLEU ....................................................................................................................................53 4.1.3 Accuracy of Mapped functions ..................................................................................................54 4.2 Phase 1: Trans-compiler Based Approach implementation and Result .........................55 4.2.1 Implementation of the Trans-compiler Based Mobile Application Converter ..........................55 4.2.2 Functionality mapping for Phase1: .............................................................................................56 4.2.3 Phase 1 Result ...........................................................................................................................58 4.3 Phase 2: Manual Library Mapping Results ....................................................................61 4.3.1 Phase 2: User Interface ..............................................................................................................62 4.3.2 Performance of the Proposed Library Mapping Approach ..........................................................63 4.3.3 Performance of phase 1 vs phase 2 ............................................................................................64 4.4 Phase 3 Automatic Library Mapping Matching results ..................................................68 4.4.1 RQ1: What is the effectiveness of our phase 3 approach........................................................68 Chapter 5: Conclusion and Future Work .................................................... 74 Chapter 6: References ................................................................................ 77
520 3 _aAbstract: The most popular mobile platforms are android and iOS, which are written in java and swift programming languages, respectively. Due to their popularity, there is always a demand to convert applications written in one of these two platforms to another. Numerous commercial tools like Xamarin, React Native, and PhoneGap utilizes the concept of cross-platform mobile application development. These tools build applications once and run them everywhere as opposed to native mobile app development that writes in a specific programming language for every platform. They are not very efficient for native developers as mobile applications must be written in a specific language. They need the use of specific frameworks. In this research, a generic trans-compiler-based approach is introduced, which converts applications written in a source language to a destination language, in this case, iOS to android. The research is divided into three phases. Phase 1 introduces the trans-compiler-based approach. Phase 2 is concerned with the library mapping approach, which helps to generalize the functions that form a big part of any program. Finally, Phase 3 automates the library mapping. It maps a library function of a source language automatically with a corresponding function of the destination language by using the structure of the two languages.
546 _aText in English, abstracts in English.
650 4 _aSoftware Engineering
_9211
655 7 _2NULIB
_aDissertation, Academic
_9187
690 _aSoftware Engineering
_9211
942 _2ddc
_cTH
999 _c9075
_d9075