软件工程自动化
多核处理器软件自动并行化技术
信息技术的发展对CPU的处理能力提出了更高的要求,处理器从单核向多核发展,从物理上实现了并行计算,大大提高了计算能力。但是,相应的软件开发方法由于受到人类思维活动方式的限制,很难实现并行化编程。本软件工具能够分析传统的软件代码,自动提取并行化代码,自动估算代码执行时间,按照总体性能最优策略,给出多核并行执行的方案。本软件工具还能够让用户根据自己的需要调整并行执行方案,在调整的同时可以实时看到总体效率的变化,实现各个核上的任务执行仿真。
本软件工具是针对基于多核处理器软件开发的辅助设计工具,可以大大提高多核处理器软件的开发效率。
软件Bug自动定位技术
在可靠性要求非常高的领域,比如汽车电子、轨道交通、核电站、航空航天等领域,对软件Bug的容许率是非常低的,企业在开发中用于Bug测试定位所花的成本占比非常高。随着代码规模的扩大,发布周期的缩短,单纯的人工测试,发现错误,排查错误将不能满足发展的需求。本工具集成代码编辑IDE,动态调试环境,编译与执行测试环境,高效率开发的同时,并且能够自动发现软件代码逻辑的错误,大大提高了开发效率。市面上,面向于C语言的静态分析工具往往解决的是一些代码书写规范,数组越界,空指针等常规问题。本工具通过测试源代码,根据代码输出与预想结果的比较,检查每一行代码,深度分析代码间复杂的交互,高精度分析,发现真正的错误缺陷代码。改变了传统的测试代码,人为手工分析排查错误的开发模式,大大节省了寻找错误代码的时间。
大型高可靠性软件的过程管理和测试验证
在轨道交通、航空航天等领域,软件的规模很大、同时可靠性要求非常高,通常称为苛求系统(Critical Systems)。按照国际标准IEC61508以及EN50128对软件开发的要求,采用V模型对软件开发过程进行管理。本团队和某上市公司合作,对某大型高可靠性软件的开发全流程规划、开发团队组建、开发进度管理、软件品质管理进行了规划和具体实施,确保了软件开发成功,通过了英国劳氏公司的国际最高等级安全认证。
同时本团队接受委托,对该软件的功能和性能进行了全面的测试验证,具体包括各个模块的详细测试、基于白盒的覆盖率测试、系统集成接口测试、系统测试,也包括了认证过程中涉及的代码、各种需求文档、设计文档、测试报告等内容的验证和确认(Verify & Validate)。
问题