ACT汽车电子与软件技术周回顾 | 龙智技术专家分享汽车行业中版本控制与静态扫描的最佳实践

在2023 ACT汽车电子与软件技术周期间,我们对话了龙智资深顾问、技术支持部门负责人李培,他聚焦结合行业趋势、自身经验与过往成功案例,分享了版本控制与静态代码扫描在汽车行业中的应用与实践。此外,还对比分析了包括Git、SVN等的多款工具,为大家提供帮助与参考。

对话龙智技术负责人、“Technical Hero”李培,探索汽车行业版本控制与静态分析的最佳实践

采访文字实录

Q:您如何看待汽车行业的开发管理?龙智在这个领域可以为大家提供哪些帮助?

在这么多年中,汽车行业依旧属于传统的制造业。但现在,很多车企面临着新能源企业的竞争,急需转型以缩减成本。他们需要采用全新的设计方法,在这个古老的行业展开全新模式的探索。

其中有一个方面我们能够提供帮助。现在,因为硬件基础相差不大,汽车行业的创新集中在了软件层面的应用。组织如何创造出有价值的软件应用成为重点。

说到软件,龙智在软件开发行业工具方面颇具经验,包括合规性工具、分布式开发工具、上游需求管理工具等,都是我们的强项。通过使用龙智精选的工具,客户能够降低引入软件开发思想的门槛,更快地取得成功。

Q:关于龙智汽车行业解决方案中的版本控制、静态分析工具,能否介绍一下它们在汽车软件开发中的应用场景?

知名汽车企业大多是百年老店,特点是规模大、重资产。他们有很多研发中心,(并且比较分散),甚至有些中国造车新势力的设计团队、重大研发团队分布在海外。这就需要一个能很好的支持分布式开发的版本系统,来为这些不同办公室之间的协作需提供支持。

现在,我们已经有客户采取这种实践。比如他们在英国和重庆都有研发中心,而这些研发中心之间的协作,包括各种研发资料的协作,都得益于Perforce Helix Core,让他们实现了更好的管控与共享。

Perforce的另一个优势是可以作为单一可信数据源。为什么反复强调单一可信数据源?"单一"意味着单一系统就有足够的能力来管理整个公司的数字资产,只有这样才能称之为单一可信数据源,这个词的含义正是如此。

无论团队规模是几人还是几万人,都可以统一使用一套系统来管理数据。这意味着在同一平台上进行资源共享和访问,相对于将数据散布在各处,这种方式显然更为便捷,这是另一个重要优势。

在静态扫描方面,考虑到汽车涉及人身安全,除了传统的ISO 26262公共安全协议和标准外,还要考虑较新的汽车网络化标准,例如ISO 21434。这些安全标准都需要一款权威的静态扫描工具来实现,Helix QAC是当仁不让的选择。

此外,还有一款名为Klocwork的工具,可用于分析车机系统。由于车机系统往往采用安卓开发,代码量非常大。Klocwork能够对这些项目进行深度分析。这些工具对汽车行业非常有帮助。

Q:与SVN、Git相比,Perforce Helix Core对于汽车行业的开发来说有哪些独特优势?

Git和SVN都是广泛使用的版本管理工具,但与Perforce Helix Core相比,它们在管理的数据量和用户数方面存在显著差异,当这些数据发生重大变化时,就会由量变产生质变。

虽然它们都是版本管理,但在不同数量级上,面临的问题却截然不同。如果要用Git来管200T的数据,简直是不可能的,世界上最大的Git仓库可能一组也只有几十个G,这是根本性的区别。另外,在审计、分布式部署、分支管理等方面,Git和SVN都与Perforce Helix Core存在明显差别。

对于小团队来说,Git和SVN可能足够使用,这点我是相信的。但在整个公司范围内,如果每个团队都使用不同的版本管理服务器,那就必然会面临整个组织的数据控制和共享问题。如果想在整个公司统一数据管理来源,Perforce Helix Core是最佳选择。在前端,可以考虑使用其他版本管理工具(如Git),以保留使用习惯,但在公司整体层面,可以规划统一的灾备计划、规则集和升级策略,来确保公司层面的数据安全。

Q:同样都是静态代码扫描工具,Helix QAC和Klocwork的区别在于?

在合规方面,特别是在公共安全标准,如Misra或AUTOSAR的标准覆盖方面,Helix QAC的覆盖率更高,Klocwork的覆盖率相对较低一点。这种区别主要源于产品定位的不同,尽管它们来自同一家公司,但仍然存在一些区别。Klocwork支持更多的编程语言,易用性更好,主要就是这些细微的差别。

Q:Helix QAC和Klocwork是如何帮助满足ISO 21434、ISO 26262等代码合规性标准的?

ISO 26262、ISO 21434这些标准相对抽象且专业,我只能简单地介绍一下。

比如想要低复杂度、代码稳定或健壮,为实现这一要求,需要采取具体的做法。例如,禁止使用语言特性中容易引发错误的部分,只允许使用一个子集。这样可能产生一套检查规则集,比如Misra、Misra C、AUTOSAR等。通过允许使用一个语言的子集,把容易出错的用法隔离在外,变成一个可执行的检查。只要代码在一定程度上通过这些规则的检查,就可以表明满足了该标准的要求。

然而,这中间仍然存在一个问题。即使使用合规的工具和合规的检查规则,但是仍然需要

一套文档来自证清白。在这方面,Perforce原厂提供合规认证,帮助提高申报成功率。

Q:Helix QAC和Klocwork与竞品相比有哪些优势?

Helix QAC有超过30年的历史,在合规认证方面被视为是必选项,而不是可选项。

Klocwork具有永久许可,并支持多种编程语言,这是其独特的优势。

Q:Digital Twin(数字孪生)作为汽车行业的一个新兴概念,请问Perforce产品在其中有什么应用示例?

Digital Twin技术不仅在汽车行业得到应用,游戏行业早已使用并逐渐成熟。其本质与具体行业关系不大,而是与技术本身紧密相关。无论是汽车行业还是游戏行业,只要采用了Digital Twin,Perforce为您提供卓越的管理支持,包括大数据量、大文件和分布式协作,并且能够很好地与Git等工具进行集成。

Q:整体介绍下龙智汽车行业解决方案?

(龙智集成了Atlassian和Perforce等全球知名厂商的工具,并且是久经市场验证的工具。)在上游需求管理方面,我们提供Perforce的Helix ALM,可以进行需求、变更、bug、测试等的管理。还有Atlassian公司的Jira,它可以用于项目需求管理,包括bug管理也可以实现,虽然可能需要通过插件。并且,它支持不同的开发模式。

从上游需求的维护往下延伸到版本控制系统,各种文档、代码、图纸甚至是芯片设计,都能够在Perforce Helix Core或Methodics IPLM上进行管理。

这些资料一旦存储在Perforce Helix Core或Methodics IPLM中,就可以进行定期的审查和检查。在软件层面,通过刚才提到的Helix QAC和Klocwork,能进行开源组件、静态扫描和合规性的检查。如果要发布制品,还有其他的一些知名的软件,我们的产品一般也会自带软件开发生命周期管理。

龙智在服务国内客户以及支持他们使用国际化产品方面积累了丰富的经验。我们拥有专业的团队,致力于提供对这些产品的高质量支持。当客户遇到问题或困难时,我们会迅速与原厂公司协调,共同解决客户的问题,并且我们有许多成功的案例作为参考。

我们以本土为基础,为客户提供最优质的国际化产品和最出色的本地化服务,这是我们的独特优势

Q:您在此前荣获了Perforce公司颁发的“2022 Technical Hero”称号,请问您是凭借什么从众多竞争者中脱颖而出?

这不单单是我一个人的奖项,我只是我们团队的代表。我们团队一直秉承着以用心服务为宗旨,这不仅是承诺,更是我们内心的坚持。当看到我们的努力帮助客户快速地解决了问题,或是在遇到困难时,我们通过迅速向原厂求助,确保了客户的问题得以迅速解决,我们的内心都是充满喜悦的。获得此奖项也正是说明了我们的专业和态度获得了原厂的认可。

Q:参加这次汽车电子与软件技术周,您有什么参会感触?

我参会的感触之一是硬件和软件之间的gap还是比较明显的。如果硬件团队能够借助软件这种快速的开发模式,这对他们将会非常有帮助。同样,如果软件团队能够更好地理解硬件的设计理念,他们的开发态度也将更为积极和合作。

你可能感兴趣的:(汽车)