背景阐述
1.C/C++代码编写的系统大约70%的严重安全漏洞和内存使用不当相关,Rust语言一系列安全特性,可以在编 译阶段发现内存相关安全漏洞,用Rust语言编写更安全的操作系统,已经成为行业趋势
2.国内自主研发的操作系统和自主可控的软件生态都还不成熟,通过代码转译技术,提升开发者对新操作系统 的适配效率,促进国产操作系统软件生态发展成熟
蓝河代码转译工具
赛题鼓励开发者实现工具程序,完成与蓝河系统/应用相关的代码转译。
可选方向有两个:
底层代码转译:底层的 C /C++代码转 Rust 代码工具
应用代码转化:将其它形态的移动应用(App、小程序、H5 应用等) 代码转成蓝河应用代码,也可以是自然语言/图片等形态生成蓝河应用 代码
赛题价值
1. 加快国产操作系统关键技术建设,从源头保障操作系统内存安全, 促进国产操作系统底层技术发展
2. 加速国产操作系统生态建设,同时繁荣hapjs开源社区生态
3.希望通过本项赛事,携手开发者为国产操作系统底层技术及生态建 设做出贡献
难易程度
• 技术栈:熟悉C/C++、Rust语言开发或者应用开发(熟悉前端 技术栈以及APP、小程序等应用开发)
• 可实现:不论是C转Rust,还是应用代码之间的转换,使用大模 型、正则表达式匹配、自建语法树等技术完成常规代码转换已 经是行业常见方案
• 上限高:对于代码数量级大的转译,或者复杂特性的代码转译, 要实现完美代码转译有比较高的实现难度
实现举例
• 用蓝心大模型的转译能力,将在 Linux上可编译执行的多线程系统 调用C代码转译成Rust代码
• 输出的Rust代码功能保持一致,且 采用了Rust的Arc/Mutex机制保证 线程安全,同样在Linux平台上可 编译执行
技术支持
• 文档:开发环境搭建,开发示例,测试用例
• 开发环境:开发工具(IDE、真机调试器apk)、远程云真机等
• 培训与答疑:初赛开始前,提供线上直播、视频教程供参赛者 学习,同时准备参赛者常见问题FAQ文档;初赛开始后,社区 内提供三名技术人员分别对不同 技术方向问题进行答疑和指导
评价标准