Skip to main content
 Web开发网 » 站长学院 » 浏览器插件

嵌入式开发「坑」太多?MathWorks 高级工程师教你 debug

2021年10月10日5670百度已收录

嵌入式开发「坑」太多?MathWorks 高级工程师教你 debug  嵌入式开发 第1张

文/ 朱雪妍

据博思数据发布的《2018-2023年中国嵌入式软件行业市场发展现状调研与投资趋势前景分析报告》表明:2018年上半年我国嵌入式系统软件收入达4240.2亿元,累计增长6.6%,并将持续保持高速增长。嵌入式系统是当前最热门、最具发展前途的IT应用领域之一。包括手机、电子字典、可视电话、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、甚至航天航空设备等,都是典型的嵌入式系统。因此,通过嵌入式技能培训成为专业的嵌入式技术人才,其职业发展空间较大。对传统IT领域的开发者来说,随着竞争的日趋激烈,如今掌握嵌入式开发,才能更好地为未来「万物互联」做好准备。

嵌入式开发「坑」太多?MathWorks 高级工程师教你 debug  嵌入式开发 第2张

嵌入式开发「坑」太多,怎么办?

但嵌入式软件并不只是单纯的软件,有许多和硬件结合的地方。在软件开发和软件测试过程中会有很多问题出现,一旦出现,企业损失会比较大;并且许多软件问题在实际操作过程中,非常难以察觉。

软件测试是有效发现软件缺陷的重要方法之一,嵌入式软件测试按照是否执行被测系统,将测试类型分为静态测试和动态测试。静态测试不需要编译执行源程序,对源程序进行词法语法、编程规范、数据流、控制流、度量等分析,获取程序的结构和特性,利用形式化方法验证、证明程序是否符合安全规则,能够较为全面的获取程序的特征。动态测试需要通过获取程序的动态信息来分析软件的缺陷,如分析程序的内存状态、覆盖率和执行结果,更有利于理解程序的动态行为特征。

很多代码缺陷产生于程序运行过程中,具有隐蔽性和不可预见性,比如数组越界,动态存储分配,内存溢出,指针非法引用,类型不一致的隐式转换等,这些错误都是在编译阶段不能被编译器检查发现的错误。

因此,在大规模和复杂度极高的软件中,完全依赖于“人工检查方式”可能会因为人为等主观原因造成问题被遗漏无法发现。将现有常见多发问题形成缺陷模式库植入工具中,由工具自动化检测代码缺陷,能够高效提升测试效率,避免问题重复发生大幅减轻测试人员工作量。

为了保证交付的产品稳定、可靠、安全是嵌入式设备开发企业的始终追求,其中涉及到诸如研发流程、周期、成本、认证等制约,如何在有限条件下,破解嵌入式软件质量的难题是软件开发与测试团队必须应对的挑战。

嵌入式开发「坑」太多?MathWorks 高级工程师教你 debug  嵌入式开发 第3张

MathWorks技术大咖,亲授如何玩转嵌入式

为了帮助开发者掌握,如何快速查找和debug,甚至证明代码零缺陷的各种高级操作;如何使用Polyspace的强大功能;如何提高软件的可靠性,安全性和稳定性。

6月30日,由MathWorks发起的「破解嵌入式软件质量难题:C/C++代码静态分析技术」课程将在线上发起。

课程将以C/C++代码静态分析技术为出发点,带您了解各种运行时的错误,带你快速查bug,证明代码零缺陷的各种操作。此外,课程还将带领大家全面了解Polyspace的强大功能,为打造高安全完整性系统保驾护航。

本课程的讲师均来自于Polyspace母公司MathWorks:

1.胡乐华 MathWorks中国高级应用工程师

拥有航空航天制造工程硕士学位。加入MathWorks前,在霍尼韦尔,BlueSky从事直升机飞行动力学和涡轴发动机系统的仿真开发。

嵌入式开发「坑」太多?MathWorks 高级工程师教你 debug  嵌入式开发 第4张

2 樊朝祥 MathWorks中国高级应用工程师

毕业于重庆理工大学,专业方向为软件工程。曾就职于Valeo,从事汽车电子嵌入式软件开发工作,在嵌入式软件开发,基于模型的设计,软件架构,软件项目管理领域有多年工作经验。

嵌入式开发「坑」太多?MathWorks 高级工程师教你 debug  嵌入式开发 第5张

3 周拥华 MathWorks中国技术经理

熟悉产品研发与工程实践,在电力(许继)、通信(华为)和轨道交通(GE)等领域有二十多年的系统仿真分析、系统架构设计、软件产品开发及研发项目与团队管理经验。

嵌入式开发「坑」太多?MathWorks 高级工程师教你 debug  嵌入式开发 第6张

作为拥有丰富一线实战经验的嘉宾,这些技术大咖的分享无疑会让你对嵌入式开发的理解更加深入。无论你是C/C++软件产品的开发、测试、认证、管理人员;还是产品涉及重大经济/社会责任,产品联网,涉及信息安全,用于以上领域的嵌入式OS、BSP、支撑软件开发相关人员;亦或是涉及复杂计算且重要的桌面/服务器产品的软件开发相关人员。

本次课程都是为你量身打造的!

嵌入式开发「坑」太多?MathWorks 高级工程师教你 debug  嵌入式开发 第7张

嵌入式开发「坑」太多?MathWorks 高级工程师教你 debug  嵌入式开发 第8张

文/ 朱雪妍据博思数据发布的《2018-2023年中国嵌入式软件行业市场发展现状调研与投资趋势前景分析报告》表明:2018年上半年我国嵌入式系统软件收入达4240.2亿元,累计增长6.6%,并将持续保持高速增长。嵌入式系统是当前最热门、最具发展前途的IT应用领域之一。包括手机、电子字典、可视电话、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、甚至航天航空设备等,都是典型的嵌入式系统。因此,通过嵌入式技能培训成为专业的嵌入式技术人才,其职业发展空间较大。对传统IT领域的开发者来说,随着竞争的日趋激烈,如今掌握嵌入式开发,才能更好地为未来「万物互联」做好准备。

嵌入式开发「坑」太多?MathWorks 高级工程师教你 debug  嵌入式开发 第9张

嵌入式开发「坑」太多,怎么办?

但嵌入式软件并不只是单纯的软件,有许多和硬件结合的地方。在软件开发和软件测试过程中会有很多问题出现,一旦出现,企业损失会比较大;并且许多软件问题在实际操作过程中,非常难以察觉。

软件测试是有效发现软件缺陷的重要方法之一,嵌入式软件测试按照是否执行被测系统,将测试类型分为静态测试和动态测试。静态测试不需要编译执行源程序,对源程序进行词法语法、编程规范、数据流、控制流、度量等分析,获取程序的结构和特性,利用形式化方法验证、证明程序是否符合安全规则,能够较为全面的获取程序的特征。动态测试需要通过获取程序的动态信息来分析软件的缺陷,如分析程序的内存状态、覆盖率和执行结果,更有利于理解程序的动态行为特征。

很多代码缺陷产生于程序运行过程中,具有隐蔽性和不可预见性,比如数组越界,动态存储分配,内存溢出,指针非法引用,类型不一致的隐式转换等,这些错误都是在编译阶段不能被编译器检查发现的错误。

因此,在大规模和复杂度极高的软件中,完全依赖于“人工检查方式”可能会因为人为等主观原因造成问题被遗漏无法发现。将现有常见多发问题形成缺陷模式库植入工具中,由工具自动化检测代码缺陷,能够高效提升测试效率,避免问题重复发生大幅减轻测试人员工作量。

为了保证交付的产品稳定、可靠、安全是嵌入式设备开发企业的始终追求,其中涉及到诸如研发流程、周期、成本、认证等制约,如何在有限条件下,破解嵌入式软件质量的难题是软件开发与测试团队必须应对的挑战。

嵌入式开发「坑」太多?MathWorks 高级工程师教你 debug  嵌入式开发 第10张

MathWorks技术大咖,亲授如何玩转嵌入式

为了帮助开发者掌握,如何快速查找和debug,甚至证明代码零缺陷的各种高级操作;如何使用Polyspace的强大功能;如何提高软件的可靠性,安全性和稳定性。

6月30日,由MathWorks发起的「破解嵌入式软件质量难题:C/C++代码静态分析技术」课程将在线上发起。

课程将以C/C++代码静态分析技术为出发点,带您了解各种运行时的错误,带你快速查bug,证明代码零缺陷的各种操作。此外,课程还将带领大家全面了解Polyspace的强大功能,为打造高安全完整性系统保驾护航。

本课程的讲师均来自于Polyspace母公司MathWorks:

1.胡乐华 MathWorks中国高级应用工程师

拥有航空航天制造工程硕士学位。加入MathWorks前,在霍尼韦尔,BlueSky从事直升机飞行动力学和涡轴发动机系统的仿真开发。

嵌入式开发「坑」太多?MathWorks 高级工程师教你 debug  嵌入式开发 第11张

2 樊朝祥 MathWorks中国高级应用工程师

毕业于重庆理工大学,专业方向为软件工程。曾就职于Valeo,从事汽车电子嵌入式软件开发工作,在嵌入式软件开发,基于模型的设计,软件架构,软件项目管理领域有多年工作经验。

嵌入式开发「坑」太多?MathWorks 高级工程师教你 debug  嵌入式开发 第12张

3 周拥华 MathWorks中国技术经理

熟悉产品研发与工程实践,在电力(许继)、通信(华为)和轨道交通(GE)等领域有二十多年的系统仿真分析、系统架构设计、软件产品开发及研发项目与团队管理经验。

嵌入式开发「坑」太多?MathWorks 高级工程师教你 debug  嵌入式开发 第13张

作为拥有丰富一线实战经验的嘉宾,这些技术大咖的分享无疑会让你对嵌入式开发的理解更加深入。无论你是C/C++软件产品的开发、测试、认证、管理人员;还是产品涉及重大经济/社会责任,产品联网,涉及信息安全,用于以上领域的嵌入式OS、BSP、支撑软件开发相关人员;亦或是涉及复杂计算且重要的桌面/服务器产品的软件开发相关人员。

本次课程都是为你量身打造的!

评论列表暂无评论
发表评论
微信