演讲嘉宾 | 黎 立
回顾整理 | 廖 涛
排版校对 | 宋夕明
嘉宾介绍
OpenHarmony技术俱乐部分论坛
黎立,北京航天航天大学OpenHarmony技术俱乐部主任,北京航天航天大学教授,IEEE TCSE新星奖、ACM北京新星奖获得者,曾被评为全球前三最具影响力的青年软件工程研究人员。研究兴趣为智能程序分析与移动软件工程。
正文内容
随着万物智联时代的到来,OpenHarmony作为一个开源的智能终端设备操作系统的框架和平台,将会遇到哪些机遇和挑战?北京航空航天大学教授、OpenHarmony技术俱乐部主任黎立在第二届OpenHarmony技术大会上带来了精彩分享。
随着移动互联网的快速发展,移动应用程序的需求也越来越多元。虽然现有的Android、iOS等移动平台拥有庞大的生态系统来支持其发展,但无法原生地满足各方日益增长的使用需求和管理需求。OpenHarmony作为一个新型移动平台,其开源性质和灵活性使其成为了移动开发人员的新宠。软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科,通过软件工程研究,能够帮助研究者和开发人员更好地了解和利用OpenHarmony平台。
移动软件工程洞察
Android和iOS拥有庞大且成熟的生态,基于Android/iOS进行移动软件工程洞察对OpenHarmony的未来研究发展方向具有一定指导意义。仅Android相关的论文已超过7000篇,如何从数量庞大的论文中筛选出仅适用于洞察移动软件工程领域的调研报告?可以采用Systematic Literature Review调研方法。
Systematic Literature Review是一种系统性的检索、收集并总结一个特定研究领域的调研方法,其主要步骤为:
1. 识别研究问题(定目标) 2. 识别关键词(与研究内容息息相关) 3. 论文检索(主流论文数据库) 4. 论文去噪(仅保留真正相关的论文) 5. 滚雪球方式找到更多相关论文 6. 读论文并提取数据 7. 数据表示及报告撰写
基于该方法,作者本人及其所在团队从Android/iOS相关的海量论文中筛选出了39篇关键Android/iOS论文进行洞察。
从上述39篇移动软件工程论文中,作者本人及其所在团队归纳总结出了:
一、Android/iOS生态系统内急需要解决的问题:开发者在软件工程中扮演着核心角色,他们影响了软件开发过程的每一个环节。比如,开发人员会基于Android/IOS框架开发各类应用,向应用商店发布移动应用程序,提供提三方库来为开源社区做贡献,遇到问题时会求助于问答网站(如Stack Overflow)以寻找解决方案,在代码托管网站上对源码进行管理。此外,目前软件工程领域最受关注的研究热点问题主要分为九个类别,包括应用程序开发、应用程序部署、用户体验、安全和隐私、质量、可靠性、性能、能源以及社会技术问题。
二、Android/iOS生态系统内解决软件工程问题所用到的技术类型:现有的软件工程技术可以被分为静态分析、动态分析和基于机器学习的方法:
静态分析:在不执行程序的情况下进行的程序分析。静态分析已经被广泛应用于移动应用程序来解决软件工程问题,例如污点分析、符号执行、代码插桩、模型检查常常被用于检测应用程序错误,包括功能错误、代码异味、安全漏洞/弱点、能源和性能错误、权限提升等。
动态分析:通过动态执行来测试程序。广泛使用的动态测试技术包括基于搜索的测试、黑盒/随机测试、灰盒模糊测试、合同执行、事件驱动的测试生成、突变测试等。动态分析常用于程序安全性分析(例如动态污点分析和运行时监控)和自动化程序修复。
基于机器学习的方法:通过从大型程序中提取特征来训练模型,并在代码分析领域取得了显著的成功。基于机器学习的技术已经应用于解决许多移动软件工程任务,包括漏洞检测、隐私问题检测、程序测试、代码异味检查,防范Android恶意软件攻击等。
OpenHarmony现状
目前,OpenHarmony还处于起步阶段,应用数量和三方库数量较少,需要加强拓展。截止到2023年11月,OpenHarmony开源仓库中仅能检索到174应用,OHPM中心仓库中仅能检索到135三方库。此外,OpenHarmony框架正快速演化,针对可能引入的兼容性问题,需设计更好的架构从源头解决。
OpenHarmony的机遇与挑战
在移动软件工程洞察以及OpenHarmony现状分析的基础上,作者本人及其所在团队总结了Android/iOS与OpenHarmony之间的研究差距,并提出了以下OpenHarmony未来的发展方向和机会点:
开发侧需更多关注:传统移动生态,大量研究工作发生在应用开发之后,而OH生态刚起步,在支持应用高效开发方面也有强烈述求;
框架集成新特性:原生智能、一端开发多端部署;
OpenHarmony独特新机会:如支持基于大模型的高效应用开发、支持跨平台应用开发、利用大量成熟生态数据积累的数据,比如实现Android应用(或部分功能,或UI)到OpenHarmony应用的自动转换等。
此外,作者本人也提出了面向万物智联时代OpenHarmony发展所可能遇到的挑战,如:
数据有限,难以支持大模型做精调;
三方库有限,难以支持高效、高质量应用开发;
三方库OpenHarmony化:如何做到持续演进;
系统挑战:全新的系统设计带来新的挑战;
交互界面挑战:交互、事件一直是图形化应用分析的难点;
语言挑战:ArkTS为全新的应用编程语言,目前业界还没有相应的程序分析基础框架。
OpenHarmony作为一个终端操作系统领域冉冉升起的新星,正在飞速发展,茁壮成长。希望更多的研究者加入OpenHarmony研究,站在巨人的肩膀上,使OpenHarmony生态系统繁荣起来!
近日,北京航空航天大学联合四大洲11个大学的学者近日共同发布了题为《OpenHarmony软件工程研究路线图》的论文,更多详情可参阅:OpenHarmony生态如何建?北航牵头发布《面向OpenHarmony的软件工程研究路线图》
全部0条评论
快来发表一下你的评论吧 !