高安全系统的软件开发与验证技术工信部重点实验室

Key Laboratory for Safety-critical Software Development and Verification (Nanjing University of Aeronautics and Astronautics), Ministry of Industry and Information Technology
 
研究方向三
发布人:陶传奇  发布时间:2020-10-25   浏览次数:394

研究方向三:高安全软件的智能化测试方法

(1)信息安全漏洞及恶意软件检测  

研究静态、动态以及动静结合的软件安全漏洞检测及定位技术。包括研究软件架构分析技术,建立形式化软件架构和安全需求模型的方法;研究轻量级动态符号执行的自动化安全测试方法,混合执行路径策略,探究智能搜索程序安全漏洞的路径空间模型和算法;研究对程序行为的建模与异常行为发现技术,揭示安全漏洞深度利用机理,探究基于模型检测的软件安全漏洞检测方法;研究动态污点分析技术,建立安全漏洞的形式化模型,揭示污点传播路径规律;研究基于动态跟踪目标程序的安全漏洞挖掘技术;研究基于动态符号执行技术的安全漏洞检测方法,模拟程序执行及分析程序语义信息的技术;探究利用数学和逻辑进行符号抽象的方法,揭示输入和路径的内在联系,以及提高漏洞检测效率的方法;研究软件安全漏洞定位和溯源技术,挖掘潜在漏洞利用规律,建立漏洞安全风险评估模型。

(2)数据驱动的功能安全智能化分析

基于软件源代码的静态统计数据以及运行时的动态指标,利用机器学习技术进行智能化软件质量分析。包括基于半监督学习与迁移学习的软件缺陷挖掘;基于降维及特征选择的软件漏洞定位;基于遗传算法及主动学习的测试样例生成与选择等。解决标记样本不足、样本类别不平衡、漏洞定位困难等问题,形成针对高安全软件的数据驱动智能化质量分析框架。

(3)功能安全测试与运行时验证

以嵌入式软件、分布式服务化软件、移动软件等为背景,结合软件行为建模、程序分析、智能学习技术、搜索技术等,研究测试用例自动生成方法以及测试结果的自动判定方法,解决传统测试用例生成过于依赖人工的问题,提高软件测试,特别是领域软件测试的自动化程度。从测试脚本、规约文本、注释描述等角度出发,研究新型软件测试的维护方法,解决测试用例难以选择、难以演化等问题,为构建测试、回归测试等过程提供支撑。面向新型程序语言、新型软件体系结构和新型应用形态,研究软件测试优化方法,持续改进测试效率。除了传统功能测试,还将研究面向性能、可靠性等非功能性需求的测试方法,解决上述领域缺乏系统性测试方法的难题,为飞行器、船舶、轨道交通等领域中非功能性需求的质量保障提供方法和技术支持。

  保证检测的充分性和全面性是软件测试中面临的一个重要挑战,为此,还拟结合形式验证技术,研究新型运行时验证方法。利用形式验证理论,对软件执行进行更深入的检查,拓展测试的深度,为软件功能安全性提供更多保障。