0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

软件正在我们眼前悄然被侵蚀

全球TMT 来源:全球TMT 作者:全球TMT 2024-09-03 12:04 次阅读

在数字化时代,软件的稳定性与安全性构筑企业值得信赖的护城河。作为全球领先的软件开发工具提供商,Qt Group正致力于通过其创新的Axivion Suite工具,助力企业在医疗器械、汽车等受高度监管领域精准识别或避免软件侵蚀,确保软件项目的长期可维护性和可扩展性。

上海2024年9月3日/美通社/ --就像岩石和山脉会受到自然侵蚀,今天的全球软件也在遭受侵蚀。每天,开发者们都发现自己软件的混乱程度越来越高,而这些软件的架构却鲜少有人清楚理解。随着AI产业发展驶入“快车道”,我们几乎没有时间去理清这些混乱。

近几年,软件频繁出现问题。仅2023年,国内网购、网约车、社交应用等平台或应用多次发生崩溃,引发媒体报道,甚至登上不同平台的热搜榜。在全球范围,Crowdstrike软件更新导致的"微软蓝屏"事件可能是今年最引人注目的一个。

然而,开发者们却在维持这个摇摇欲坠的纸牌屋上投入了大量时间。基于2,000多位美国、英国、法国、德国和新加坡开发者和行政高管的调研报告《开发者系数(The Developer Coefficient)》指出,开发者每周平均工作41.1小时,其中三分之一的时间用于解决技术债务;超过40%的时间用于维护。

这实际上反映出大量时间被用于非创新性工作。Qt Group的QA业务总监Juan Rodriguez对此深感担忧:"我们目睹着软件架构的逐渐衰败,因为科技行业要求开发者不断向前推进,譬如铺设新的铁轨,然而他们身后的铁轨却在逐渐崩溃。"

什么是软件侵蚀

我们大多数人并没有注意到软件侵蚀。这是软件内部结构的一种无形降级。它使得软件的可读性、可维护性、可扩展性和可复用性变得困难,甚至可能威胁到系统的功能安全。

软件开发是一个不断累积的过程。新的依赖关系总是被引入到软件的各个部分中。但有时候,新的代码并非必要,反而使得代码库越来越臃肿,越来越难以理解、修改和维护。我们之所以称之为Dependency Hell(地狱依赖)并非没有原因。在实施功能或修复错误时,弄清楚哪些更改是必要的需要极大耐心和技巧。

软件侵蚀的雪球效应

添加功能和快捷方式会逐步增加软件复杂性,每次迭代都在无形中侵蚀着软件架构的完整性。

开发者在工作流中添加了快捷方式,导致代码库日益臃肿。想要一个新的功能?有可能会因此破坏一些东西。如果重新设计产品的某个方面,可能会引发一系列破坏性反应,影响到其他原本相互独立的团队。每次改动都可能带来意想不到的连锁反应。

开发者可能会因为额外的维护工作而感到沮丧,进而再次添加一个快捷方式。如此反复,直到代码库变得像极其不稳定的真人版叠叠乐游戏。每个人都害怕成为那个让整个结构崩塌的人。这就是开发者在面对日益复杂的代码库时所面临的挑战。

wKgZombWirWAVxi5AABkuzGMFkE835.jpg


关注软件侵蚀是为了长期保障您的软件投资

"这就是软件侵蚀的本质,"Qt Group的Juan Rodriguez总结道,"无处不在的复杂性使得即使是发布最简单的新功能也变得痛苦无比。从长期来看,这种情况会对效率和可扩展性造成严重损害。"

我们是否忘了测试左移?

许多公司取了一种令人失望的"补救"措施。他们增加修复错误的时间,或者雇佣更多的QA工程师来减轻开发者负担。然而,这些都只是在玩"打地鼠"游戏,新错误在被修复前并不存在,就像是用昂贵的创可贴来处理严重的伤口。

更明智的做法应该是重新架构代码库。对于只有两年代码历史的公司来说,这可能相对容易,但对于那些拥有二十年遗留代码的公司呢?即便他们完成了这项艰巨的任务,如果第一次没有真正吸取教训,软件侵蚀的循环就会再次开始。

从开发者在维护上投入的时间来看,这些教训似乎还没有被充分吸取。软件侵蚀的问题依然存在,我们甚至可以预见,AI代码助手也面临同样的问题。除非每个行业都能自觉地从一开始就将QA紧密地融入到开发过程中。

Juan Rodriguez建议:"从设计阶段就开始考虑这些问题,而不是等到所有的代码都写完之后再开始。"在编写新代码的时候,就要运行静态代码分析和功能测试。即便已经做了所有这些事情,但效果并不理想。如果是这样的话,那就回到起点,从宏观层面去审视软件架构,而不是只关注细节层次。架构是否达到预期?在产品中定义的第一个组件是什么?组件之间如何通信

当您运行静态代码分析并理解在哪里复制了代码;当您运行架构并理解依赖关系在哪里;当您运行功能测试并获得结果,您就开始理解了问题的所在。这并不是选择其中一个或另一个的问题。所有的软件产品最终都应该能够从多种来源获取洞察。只有这样,才能回到起点,重新架构,以避免重蹈覆辙。

"遗憾的是,似乎很少有人真正知道自己实施的架构是什么样," Juan Rodriguez认为,"如果我们理解自己的软件架构,那么新增任何功能,都可以根据自己对架构的理解来构建软件。那时,就不再需要走捷径了。"

Axivion Suite:解决软件侵蚀的利器

Axivion Suite 是Qt Group专为解决软件侵蚀问题而设计的工具,通过静态代码分析、架构验证和依赖关系管理,有效应对软件架构侵蚀。它能自动检测代码中的潜在问题,确保代码符合预期设计,避免架构偏离。通过对软件架构的全面分析,Axivion Suite帮助开发者理解和修复架构中的违规行为,防止复杂性和依赖关系的增加。此外,Axivion Suite还提供实时反馈,帮助开发者在早期阶段发现并修复错误,从而提高软件的可维护性和可靠性,特别适用于医疗和汽车等对软件质量要求高的行业。

wKgaombWirWAEfUlAABnxzlnH0c052.jpg


Axivion Suite阻止软件侵蚀

理解并解决软件侵蚀问题,是每一个重视软件质量的企业都应该关注的课题。Axivion Suite提供了强大工具,帮助企业从根本上解决这一问题。让我们一起,构建更加稳定和高效的软件系统。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件
    +关注

    关注

    69

    文章

    4581

    浏览量

    86763
  • AI
    AI
    +关注

    关注

    87

    文章

    29013

    浏览量

    266456
  • 开发者
    +关注

    关注

    1

    文章

    531

    浏览量

    16929
收藏 人收藏

    评论

    相关推荐

    触头的电侵蚀与哪些因素有关

    触头的电侵蚀是一个复杂的问题,涉及到多个因素。 触头材料 触头材料是影响电侵蚀的关键因素之一。不同的材料具有不同的导电性、熔点和硬度,这些特性都会影响触头的电侵蚀程度。一般来说,银基合金、铜基合金
    的头像 发表于 07-19 09:11 247次阅读

    为什么我们需要软件定义的工厂?

    软件定义的工厂使制造商能够快速响应市场趋势并减少计划外停机时间,从而提高工厂的生产力。 在工业4.0时代保持竞争力意味着制造商必须足够灵活,以设计选择,并能够改变生产工艺,以满足不同的客户偏好或独特
    的头像 发表于 07-03 14:34 1931次阅读

    TC387芯片通过MCD软件连接芯片时提示Device锁定,如何解锁?

    TC387芯片通过MCD软件连接芯片时提示Device锁定,设备锁,这是什么原因引起的,如何解锁呢?
    发表于 05-31 07:48

    鲲云科技将出席IPF 2024浪潮信息生态伙伴大会

    人工智能正在与各领域加速融合,重塑我们人事世界、发现未知的能力,百行千业的智能化升级迫在眼前,由此催生的万亿级市场新空间将很快变成现实。
    的头像 发表于 04-16 14:13 590次阅读
    鲲云科技将出席IPF 2024浪潮信息生态伙伴大会

    SOLIDWORKS教育版软件 2024新版学校专用

    你是不是也对那种能将复杂的三维模型轻松呈现在眼前的神奇软件充满好奇?告诉你一个好消息,SolidWorks教育版2024新版软件正式登陆学校专用领域,为广大学子带来了良好的学习体验!
    的头像 发表于 03-14 12:49 294次阅读
    SOLIDWORKS教育版<b class='flag-5'>软件</b> 2024新版学校专用

    钠离子电池,正在开辟储能新市场

    ,也便于运输。而这种新型电池正在储能市场中悄然发出新的能量。   钠离子电池的优势   目前的锂离子电池正在迅猛发展,具有较高的比能量、比功率、充放电效率和输出电压,且寿命较长、自放电小,是一种理想的储能技术,锂
    的头像 发表于 03-05 00:12 3331次阅读

    使用硬件TC212运行软件AURIX™,TDA5235_868_5_BOARD随机重置的原因?

    正在使用硬件 TC212 运行软件 AURIX™ ,但我的 TDA5235_868_5_BOARD 随机重置,没有任何线索。我有 2 个硬件 COOLDIM_PRG_BOARD,测试了相同的
    发表于 02-27 06:16

    在Gtm功能安全中说明软件需要采集Gtm是否计时,这个功能怎么实现?

    在Gtm功能安全中说明软件需要采集Gtm是否计时。也就是需要使用TIM模块采集Gtm时钟(CLS0_CLK),这个功能怎么实现,因为我发现CLS0_CLK无法路由到TIM。
    发表于 02-19 06:05

    AI PC时代正在我们走来

    AI无处不在,充满未知和期待的AI PC时代正在我们走来,我们的生活和工作方式即将发生改变。
    的头像 发表于 01-19 09:49 501次阅读

    是否需要SD卡才能将GUI文件从GUI设计软件上传到LCD?

    如果我们想添加小部件、按钮、图形、图像等。我们是否需要 SD 卡才能将 GUI 文件从 GUI 设计软件上传到 LCD? 我们正在使用带有
    发表于 01-19 08:33

    ADAS1000-3导联脱落的时候是如何各个通道中的比较器检测到的?

    ADAS1000-3集成芯片,在导联脱落检测的时候有些不太明白。我们用的是直流导联脱落检测。当导联脱落的时候是如何各个通道中的比较器检测到的?以及在软件上面如何进行检测方面不是很明白? 谢谢!
    发表于 12-19 07:11

    传大众汽车软件部门将大裁员,软件产品发布进一步推迟

    奥迪q6 e- tron和保时捷Macan电动车将搭载1.2版本的软件架构,推迟16至18周,而原计划于2025年上市的新一代2.0架构正在完全重新开发。
    的头像 发表于 10-30 10:09 618次阅读

    AR/VR:呈现在眼前的另一个世界

    超小型全彩激光模块能使人们像戴眼镜一样轻松获得AR(增强现实)和VR(虚拟现实)体验。通过将激光直接投影到视网膜上,就能以广视角将鲜明的影像呈现在眼前。利用AR功能还可以进行旅行导航,或在元宇宙中
    的头像 发表于 10-25 15:50 424次阅读
    AR/VR:呈现在<b class='flag-5'>眼前</b>的另一个世界

    在Wi-Fi时代下,5G正在悄然改变智能家居的生态

    电子发烧友网报道(文/黄山明)自从无线技术发明以来,我们的生活带来了天翻地覆的变化。而5G作为最新一代无线技术,也开始悄然改变了目前市场中电子产品的联网生态。尤其在智能家居领域,随着5G技术的加入
    的头像 发表于 10-07 08:07 1860次阅读
    在Wi-Fi时代下,5G<b class='flag-5'>正在</b><b class='flag-5'>悄然</b>改变智能家居的生态