系统软件与软件安全

主要研究方向计算系统优化量子编程系统系统分析与评估缺陷定位与改进



计算系统优化


自动驾驶系统的计算优化


自动驾驶依赖各种传感器感知环境信息,具体表现为各种各样的基于深度学习模型的感知任务。为了提升感知精度,模型深度不断增加、模块间依赖关系也愈发复杂,模块内计算量不断攀升。同时,感知任务的响应时延能否达到自动驾驶系统的实时性要求关乎道路安全,必须严格限制。但与此矛盾的是车端计算设备算力发展相对缓慢,主要关注感知精度的实研究成果直接部署很难满足系统的实时性要求。本研究主要从模型层和框架层探索计算优化的方法,削减模型中潜在无效计算,仔细调度计算资源占用,实现感知任务的实时响应。



DSL 领域专用语言及编译


面向新兴计算领域的异构编程系统需要兼顾应用开发成本与应用运行效率两个方面。系统需要充分挖掘特定领域的问题特点,提供相应的语言层抽象以方便应用开发,加速迭代。各种新兴问题计算量不断增长、对程序性能要求愈发严苛,催生了各种协处理器以加速计算。编程系统做为上层应用与底层异构硬件的中间层,需要实现问题特点到异构功能单元的合理映射,充分利用不同功能单元的硬件特点,协调各处理器并行执行来满足应用的高效执行。




量子编程系统



量子计算机是未来的重要科技突破口,可能会变革众多科学领域。为了更好的发挥量子计算机硬件的能力,需要探索如何设计更好的量子编程语言,量子编译器及量子软件架构,构建完善的量子软件生态系统。本研究近期关注的方向有:量子编程环境与编程框架改进、量子编程语言的语法与语义分析、量子程序的分析与验证。





系统评估与分析


多语言代码混合分析


随着程序语言和软件工程的发展, 在如今的实际开发中,多种编程语言的互操作已成为常态, 这在提高开发效率、保证执行速度的同时, 也带来了如接口定义、类型转换、数据共享、内存管理等一系列问题。 面对这些挑战,需要有新的技术手段来辅助程序的开发、分析与评估。 因此本研究主要关注以下几个问题: 将传统的程序分析手段应用到多语言环境, 正确完整高效地跟踪和剖析多语言程序, 发现和解决多语言互操作中潜在的安全和性能问题。




基础软件分析与重构框架


程序分析技术是编译器、调试器、代码编辑器开发工作的基本技术,用于分析代码本身性质。利用程序分析技术可以实现在静态情况下对程序的理解,构建程序的调用图、依赖图。对不同语言的代码特性建模,结合现有的编译框架,设计新的中间表示,以实现程序的变换与重构。在分析重构框架之上,可以实现多种应用,比如代码缺陷定位与自动修复、恶意代码检测、代码可视化。





缺陷定位与改进


系统资源使用异常


系统资源主要指由操作系统管理的硬件和内核相关数据结构,比如内存、文件、进程、传感器等。这些资源通过系统层、语言层、应用层的多层包装提供给用户使用。系统资源的不当管理和使用是导致软件事故、影响用户体验的重要原因之一。本研究主要关注移动和云平台上的资源使用异常问题,关注性能和安全两个方面,目标是自动定位代码中的使用异常。分析总结异常的特征,通过静态和动态分析以及程序验证方式定位资源使用异常。





系统资源使用改进


系统资源使用行为的分析与改进可从两方面考虑, 一是程序分析和验证,定位问题另一方面是构建高效的运行时系统,并研究相关分析与改进方法的半自动构造技术和理论,寻找自动的解决途径,实现对多样化的并且不断扩充的系统资源故障处理的快速支持








地址:安徽省合肥市蜀山区黄山路443号     电话:0551-63603804         

中国科学技术大学网络信息中心制作维护