Concurrent programs became prevalent since the ever-increasing needs for higher performance and lower latency in data centers and Internet services. However, concurrency bugs are difficult to trigger, reproduce, and detect—they threat the reliability of mission critical systems and hurt the software quality. It is a challenge to thoroughly test and effectively analyze concurrent programs because they are being increasingly complex (increasing in size) and difficult to control (the state space is difficult to model and systematically explore). To address the challenge, this proposal aims to conduct the following three parts of research: (1) Design and implementation of a platform for testing and dynamic analysis of complex concurrent programs. The platform can efficiently profile a concurrent program’s execution, and effectively manipulate the schedules on demand. (2) Development of techniques for effective sampling of a concurrent program’s interleaving space. Cascaded with existing predictive trace analyses, buggy schedules are expected to be manifested. (3) Porting the platform and techniques to other application domains for testing and analysis of new forms of concurrent programs, e.g., mobile and Web apps.
数据中心、网络服务等应用对高性能、低延迟的迫切需求促使了多处理器硬件和并发程序的迅速普及。但其中的并发缺陷难触发、难复现、难检测,导致关键系统和应用的可靠性受到威胁。随着并发程序日趋复杂(规模增长)、难控(状态空间难以建模和系统化探索),目前的技术无法对其进行有效的动态分析和充分的测试。为此本项目拟开展平台、技术、应用三方面的研究:(1)建立能应对复杂并发程序的动态分析与测试平台,实现并发程序运行时行为的有效观测,并以可扩展的方式在运行时对程序行为予以调控。(2)开发复杂难控并发程序调度空间的有效探索技术,以深入有效地探索程序中可能暴露缺陷的调度。(3)拓展上述技术在新场景(如移动应用和Web应用)下的应用。
在复杂难控并发程序难分析、难测试的背景下,本项目开展了并发程序动态分析测试的基础理论、调度空间探索和测试技术应用三方面的研究,回答了并发程序执行轨迹如何建模、并发程序调度空间如何有效探索、并发系统的有效测试工具如何实现这三个关键科学问题,形成了一系列具有实用价值的学术论文和原型工具,包括发表的高水平学术论文8篇(CCF-A类国际会议6篇、中国科技期刊卓越行动计划刊物论文2篇),并多次获得Artifact认证徽章。形成的Linux内核测试工具获得CCF中国软件大会原型系统竞赛一等奖,并已在华为鸿蒙操作系统测试中落地应用。
{{i.achievement_title}}
数据更新时间:2023-05-31
玉米叶向值的全基因组关联分析
涡度相关技术及其在陆地生态系统通量研究中的应用
正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究
硬件木马:关键问题研究进展及新动向
基于SSVEP 直接脑控机器人方向和速度研究
并发程序测试及其关键技术研究
并发程序复杂性度量和树图算法复杂性分析
基于符号执行的并发程序分析与验证研究
面向对象软件并发性分析与测试方法论之研究