A Generic Trans-Compiler Based Approach for Mobile Application Code Conversion /

Ahmad Ahmad Muhammad

A Generic Trans-Compiler Based Approach for Mobile Application Code Conversion / Ahmad Ahmad Muhammad - 2021 - 78 p. ill. 21 cm.

Supervisor: Ahmad Hassan

Thesis (M.A.)—Nile University, Egypt, 2021 .

"Includes bibliographical references"

Contents:
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

Abstract:
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.


Text in English, abstracts in English.


Software Engineering


Dissertation, Academic

627