Authors:
(1) LI LI, Beihang University, China;
(2) XIANG GAO, Beihang University, China;
(3) HAILONG SUN, Beihang University, China;
(4) CHUNMING HU, Beihang University, China;
(5) XIAOYU SUN, The Australian National University, Australia;
(6) HAOYU WANG, Huazhong University of Science and Technology, China;
(7) HAIPENG CAI, Washington State University, Pullman, USA;
(8) TING SU, East China Normal University, China;
(9) XIAPU LUO, The Hong Kong Polytechnic University, China;
(10) TEGAWENDÉ F. BISSYANDÉ, University of Luxembourg, Luxembourg;
(11) JACQUES KLEIN, University of Luxembourg, Luxembourg;
(12) JOHN GRUNDY, Monash University, Australia;
(13) TAO XIE, Peking University, China;
(14) HAIBO CHEN, Shanghai Jiao Tong University, China;
(15) HUAIMIN WANG, National University of Defense Technology, China.
The State Of OpenHarmony Ecosystem
Overview Of Mobile Software Engineering
Mobile Software Engineering has been a hot topic for many years. It concerns all the aspects of software engineering in mobile, including the design, development, validation, execution, and evolution of mobile applications. This has been considered extremely important as nowadays our lives have been empowered by the massive increase in the use of mobile apps. Indeed, the number of mobile devices will reach 7 billion in 2023. The number of mobile apps that can be run on each mobile device (for both Android and iOS) has exceeded the 2 million mark. Furthermore, these figures are constantly increasing, thanks to app stores and marketplaces that allow users to effortlessly download and install applications.
Mobile platforms are rapidly evolving as well in order to continuously integrate diverse and powerful capabilities, including various sensors, cameras, wireless communication channels, as well as on-device memory and disk capacities. As a result of ingeniously applying these technological developments, developers of mobile software are pushing the boundaries with innovative mobile services and exciting mobile applications. Consequently, due to the rapid development and evolution of mobile software, developers face new software engineering challenges.
To address these challenges, researchers in the software engineering community have explored various research directions and developed lots of novel tools supported by formally grounded methods. Indeed, researchers have proposed various static program analysis approaches (i.e., by just scanning the code without actually running mobile apps) for characterizing issues (including ones related to mobile security, compatibility, energy consumption, etc.) of mobile apps [64]. For example, Arzt et al. [7] have designed and developed the famous FlowDroid approach that performs static taint analysis of Android apps for pinpointing privacy leaks. Except static analysis approaches, researchers have also invented various dynamic testing approaches (i.e., by actually running mobile apps on devices) for detecting potential defects of mobile apps at runtime [54]. For example, Amalfitano et al. [5] have proposed an GUI ripping approach for automated testing of Android apps. Su et al. [98] have proposed to achieve the same purpose through a model-based approach. The aforementioned research approaches have contributed to the huge success of the current flourishing mobile ecosystem, including both Android and iOS.
Unfortunately, these approaches cannot directly benefit OpenHarmony[1] , which is a new opensourced mobile platform launched by the OpenAtom Foundation after receiving a donation of the open-source code from Huawei. These approaches, theoretically, should be generic and hence should also work for OpenHarmony. However, it still requires significant engineering efforts to achieve that due to the following reasons (more details will be given in the background section): (1) the Openharmony platform empowers a new framework supported by layered architecture, (2) Openharmony apps are written by a newly designed language called ArkTS.
Unlike Android and iOS, which have been mature for many years and each has a healthy ecosystem to support their growth, the development of the Openharmony ecosystem is still at an earlier stage. We, therefore, argue that OpenHarmony requires more help from the software engineering research community.[2] We call on actions for conducting software engineering research for OpenHarmony. As our initial attempt, we decide to present to the community an initial research roadmap for guiding our mobile software engineering community to achieve that. We start by conducting a lightweight literature review of Mobile Software Engineering to understand the current achievements. We then conduct a comparative study to locate the technical gaps between mature platforms and OpenHarmony. Based on that, we summarize the technical deficiencies of OpenHarmony and propose a roadmap for our research community to complete.
[1] https://www.openharmony.cn
[2] This could be regarded as new opportunities for the mobile software engineering community
This paper is available on arxiv under CC 4.0 license.