Facilitating the development of cross-platform software via automated code synthesis from web-based programming resources. (June 2017)
- Record Type:
- Journal Article
- Title:
- Facilitating the development of cross-platform software via automated code synthesis from web-based programming resources. (June 2017)
- Main Title:
- Facilitating the development of cross-platform software via automated code synthesis from web-based programming resources
- Authors:
- Chadha, Sanchit
Byalik, Antuan
Tilevich, Eli
Rozovskaya, Alla - Abstract:
- Abstract: When a mobile application is supported on multiple major platforms, its market penetration is maximized. Such cross-platform native applications essentially deliver the same core functionality, albeit within the conventions of each supported platform. Maintaining and evolving a cross-platform native application is tedious and error-prone, as each modification requires replicating the changes for each of the application׳s platform-specific variants. Syntax-directed source-to-source translation proves inadequate to alleviate the problem, as native API access is always domain-specific. In this paper, we present a novel approach— Native-2-Native —that uses program transformations performed on one platform to automatically synthesize equivalent code blocks to be used on another platform. When a programmer modifies the source version of an application, the changes are captured. Based on the changes, Native-2-Native identifies the semantic content of the source code block and formulates an appropriate query to search for the equivalent target code block using popular web-based programming resources. The discovered target code block is then presented to the programmer as an automatically synthesized target language source file for further fine-tuning and subsequent integration into the mobile application׳s target version. We evaluate the proposed method using common native resources, such as sensors, network access, and canonical data structures. We show that our approachAbstract: When a mobile application is supported on multiple major platforms, its market penetration is maximized. Such cross-platform native applications essentially deliver the same core functionality, albeit within the conventions of each supported platform. Maintaining and evolving a cross-platform native application is tedious and error-prone, as each modification requires replicating the changes for each of the application׳s platform-specific variants. Syntax-directed source-to-source translation proves inadequate to alleviate the problem, as native API access is always domain-specific. In this paper, we present a novel approach— Native-2-Native —that uses program transformations performed on one platform to automatically synthesize equivalent code blocks to be used on another platform. When a programmer modifies the source version of an application, the changes are captured. Based on the changes, Native-2-Native identifies the semantic content of the source code block and formulates an appropriate query to search for the equivalent target code block using popular web-based programming resources. The discovered target code block is then presented to the programmer as an automatically synthesized target language source file for further fine-tuning and subsequent integration into the mobile application׳s target version. We evaluate the proposed method using common native resources, such as sensors, network access, and canonical data structures. We show that our approach can correctly synthesize more than 74% of iOS code from the provided Android source code and 91% of Android code from the provided iOS source code. The presented approach effectively automates the process of extracting the source code block׳s semantics and discovering existing target examples with the equivalent functionality, thus alleviating some of the most laborious and intellectually tiresome programming tasks in modern mobile development. Abstract : Highlights: Developed a recommendation system to aid cross-platform mobile developers. Bi-directional approach that recommends Android to iOS code and vice versa. Evaluation results reveal 91% of Android code is suggested from its iOS counterpart. … (more)
- Is Part Of:
- Computer languages, systems & structures. Volume 48(2017)
- Journal:
- Computer languages, systems & structures
- Issue:
- Volume 48(2017)
- Issue Display:
- Volume 48, Issue 2017 (2017)
- Year:
- 2017
- Volume:
- 48
- Issue:
- 2017
- Issue Sort Value:
- 2017-0048-2017-0000
- Page Start:
- 3
- Page End:
- 19
- Publication Date:
- 2017-06
- Subjects:
- Recommendation systems -- Code synthesis -- Mobile computing -- Android -- IOS -- Java -- Swift
Programming languages (Electronic computers) -- Periodicals
Computer networks -- Periodicals
Computer architecture -- Periodicals
Computer systems -- Periodicals
Langage de programmation
Réseau d'ordinateurs
Architecture d'ordinateur
Périodique électronique (Descripteur de forme)
Ressource Internet (Descripteur de forme)
005.13 - Journal URLs:
- http://www.sciencedirect.com/science/journal/14778424/40 ↗
http://www.elsevier.com/journals ↗ - DOI:
- 10.1016/j.cl.2016.08.005 ↗
- Languages:
- English
- ISSNs:
- 1477-8424
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 3394.071000
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 338.xml