代码质量与安全 | 展望:2023年商业软件开发的五大关键目标

进入2023年,技术趋势仍然聚焦于人工智能、边缘智能和气候变化领域,但供应链增速放缓和日益增长的消费者需求阻碍着创新的步伐。为了在行业中保持竞争力,并实现软件工程预定目标,软件开发领导者需要主动制定预算和时间管理计划,同时确保交付安全、可靠且合规的代码。

2023年的嵌入式软件开发团队,唯有立足于现有资源,提高资源利用率,方能在不断加剧的市场、供应链和人才竞争中脱颖而出。以下是新一年商业软件开发的五大关键目标,以及如何利用静态代码分析工具为实现这些目标提供支持。

商业软件开发的五大关键目标

1.最大化利用现有资源

想要最大化利用现有资源,关键在于打造一支实力强大的软件开发团队。通过让软件开发人员保持参与度和工作效率来支持他们,反过来还有助于他们能够战略性地思考如何使用和应用现有工具、工作流和分析。

一个很好的切入点,就是从帮助软件开发团队克服常见的资源密集型障碍开始。根据Perforce对近600名专业汽车软件开发人员的调查显示,质量挑战主要源于代码的复杂性及应用规模的不断扩大。

领导层需要将业务目标转化为开发成果,才能真正使开发人员能够快速、自信地创建应用程序。要想真正赋予开发人员快速、自信地创建应用程序的能力,需要领导层将商业目标分解为具体、可实现的开发成果。尽管市场压力带来了挑战,但只有这样才能满足产品质量、安全和防范要求。

“嵌入式系统软件开发适合勇于面对挑战的人。因为这种开发过程很复杂,需要注意很多小问题和陷阱。”

《嵌入式系统软件开发人员技能》
EmbeddedRelated.com

要想将开发人员的时间、干劲与公司目标保持一致,则必须简化复杂的流程、减少资源浪费并避免过度拖延。静态代码分析工具能对产品质量、安全和防范检查进行更具广度和深度的自动化分析,有效提升嵌入式软件开发的效率。

行业预测也说明了这一点。Forrester 2023年预测报告指出,企业应该将自动化视为提高当今市场竞争力的强有力手段,而不是将其视为整体经济结构转型的催化剂:

“经济环境导致10%的自动化预算从用于转型变为用于提升弹性。”
Forrester 2023年预测报告

现代静态代码分析工具能够在不运行代码的情况下分析代码,并深入研究代码执行和数据流以发现错误。静态分析工具,如Perforce公司旗下的Klocwork,能完美匹配当今缩短的发布时间线,使用差异化分析,即使是微小的代码变更,也能即时、持续地提升质量和安全方面的合规性。

只要运行良好,静态代码分析工具就能提供一个高效的开发环境,从而简化复杂的测试,让开发工作稳步向前。

2. 保持行业竞争力

通货膨胀和供应链问题只会增加现有的需求,以保持市场竞争力和缩小差距。在智能家居、电动和自动驾驶汽车、新型医疗器械、可持续技术等的推动下,每个嵌入式系统软件产品市场都将在2023年持续增长。

为了实现这些创新,需要复杂且颇具规模的系统,这使大家纷纷聚焦于嵌入式代码领域。

从软件功能到安全补丁管理,行业和消费者的需求已经从计划发布版本转变为每年多次交付。为了保持竞争力,持续集成和部署现在是必备,那些采用嵌入式系统敏捷流程的企业将取代不采用敏捷流程的企业。

敏捷工作流程的第一步,是重新评估您当前的产品开发周期。Perforce关于航空航天和国防软件开发状况的报告指出,最主要的问题是由漫长的审查周期和测试等待时间造成的生产效率问题。

△ 航空航天和国防领域的软件开发专业人员最关心的生产效率问题

静态代码分析工具能够显而易见的提升竞争优势:缩短新代码和变更代码的测试和验证时间,加快产品上市。此外,静态代码分析工具可以尽早发现并帮助补救问题,从而降低变更成本。

“我们提倡一个能尽早推动工作流集成的系统。”

《在谷歌构建静态代码分析工具的经验教训》
ACM通讯
3. 降低软件产品召回率提高企业声誉

对于许多嵌入式产品来说,软件召回是不可避免的事实。美国历史上10大软件产品召回事件中,汽车系统软件产品就占了4起。大家都知道,减少产品召回的最好方法是采取预防措施,而不是等到产品发布之后。但问题是,很难知道该如何应对不断提高的软件复杂程度和不断缩短的产品上市时间。

很重要的一点,您需要承认消费者对产品召回事件的态度是模糊的。软件缺陷可能不会受到质疑,但也有可能导致企业声誉受损,引发惨痛代价。正如1994年,英特尔前首席执行官安德鲁·格罗夫(Andrew Grove)在谈到奔腾微处理器的缺陷时所说:“我们被夹在自己和客户两种思维方式之中。前者是基于事实、基于分析的工程师思维方式,后者虽然也没有那么情绪化,但他们都基于自己的习惯做选择。”

与提高竞争力一样,缺陷预防需要持续地监督产品生产过程,并不断地改进产品质量。随着代码库的规模和复杂程度的增加,快速的缺陷检测和补救变得至关重要,因为开发人员无法承担所有的测试,QA也没有时间来追查根本原因。

静态代码分析是预防现场发生缺陷的重要工具,尤其是在涉及软件安全和安全标准时。在桌面上使用,它能够在问题进入代码库之前识别问题;作为持续集成过程的一部分来使用,它可以发现缺陷,强制执行编码标准,并在发布前确保符合标准。

4.软件合规更轻松

虽然创新很重要,缩短上市时间也很重要,但关注客户需求更加必要。许多嵌入式应用程序需要遵守行业、政府和企业内部的标准。像Perforce旗下Helix QAC这样值得信赖的工具,能帮助确保符合汽车、航空航天、医疗器械和其他嵌入式软件开发行业的功能安全标准(如IEC 61508和ISO 26262)以及编码标准(如MISRA、AUTOSAR和CERT)。有了Helix QAC,开发团队无需下载这些标准的解释、验证和报告,就能在不影响发布速度的情况下在市场取得领先地位。

静态代码分析为开发人员提供了开箱即用的合规性测试和报告,无需解析需求或构建测试。为了满足快速发布周期的需求,Helix QAC和Klocwork等工具支持在代码变更时按需证明合规性,包括复杂的报告机制,以快速审查和确定问题的优先级。

5.培训软件开发人员

目前,超过90%的软件安全问题源于软件设计缺陷或编码缺陷。虽然工具和流程可以提供一些帮助,但培训开发人员应该成为网络安全威胁预防和检测计划的重要组成部分。

经常开展关于CWE列表和 Top OWASP漏洞等常见软件弱点的审查会议,以及与最新的编码标准保持同步,能够在团队中促进最佳实践,并为长期的培训会议奠定良好的基础。

您还可以利用静态代码分析工具自带的培训项目。例如,Klocwork提供的Secure Code Warrior(代码安全卫士)平台,该平台将培训课程和游戏化模式相结合,提高了开发人员的网络技能水平,让他们在开发环境中更好地识别和修复安全漏洞。

制定明确的2023年计划

在一个不明确的计划中发展技术只能是徒劳无功。静态代码分析工具能在不影响产品上市时间的情况下提高开发人员的效率,所以,要想在2023年一直交付安全可靠的代码,您需要考虑采用静态代码分析工具。

Perforce旗下的Helix QAC和Klocwork等静态代码分析工具,可以通过确保高代码质量和合规性,轻松实现商业软件开发的关键目标,从而使软件开发领导者自由地专注于创新。

文章来源:https://bit.ly/3vZX7F0