AI大模型为保障软件安全性提供新方向
在“软件定义”时代,大到智能汽车、现代飞机、智能工厂,小到手机、电视、智能家居等设备的日常运行都离不开软件系统的保驾护航。软件可靠性工程就像一块“试金石”,贯穿软件全生命周期各个阶段,为软件质量、功能可靠性、安全性提供有力保障。近日,北京高质系统科技有限公司(简称“高质系统科技”)总经理严亮在接受《中国电子报》记者专访时表示,人工智能技术尤其是大模型的兴起,对软件可靠性工程的发展发挥了重要推动作用。软件可靠性对工业制造业至关重要在数字技术与各行各业深度融合的今天,软件定义已经成为时代主旋律。严亮指出,现代工业制造过程中必须使用大量的软件来控制和管理各种机器和工具,而这些软件必须能够稳定地运行,并且能够保证工业生产的安全和质量。比如,智能汽车涉及大量的电子设备和软件控制系统,必须确保发动机控制系统、制动系统、安全气囊系统等能够安全、稳定地运行。尤其伴随自动驾驶技术的快速发展,软件已成为无人驾驶汽车的大脑。如果软件出现故障,将对汽车的安全和性能产生严重影响,甚至可能导致安全事故的发生。再比如在飞机制造业,现代飞机同样涉及飞行控制系统、导航系统、机载通信系统等重要系统软件的控制与管理,其中任何一个出现故障,都将带来巨大的损失。此外,在工业自动化控制系统中,软件可靠性可以确保生产线的稳定运行和高效生产。在智能家居中,软件可靠性可以确保家庭设备的安全和可靠运行。在医疗设备制造业中,软件可靠性可以确保医疗设备的安全性和准确性,从而保障患者的健康和生命安全。可靠性工程贯穿软件系统全生命周期软件可靠性工程主要解决的问题是如何让软件更加可靠和安全。它之所以能够被称为一项工程,是因为其贯穿于软件设计开发的全生命流程的各个环节,包括但不限于简单的测试。严亮打了个比方:“如果把软件比作一个房子,软件可靠性工程就相当于房屋结构工程,它是保证软件运行平稳、安全可靠的重要手段。”正如房屋建设作为一项复杂的工程,首先需要明确结构要求,然后根据要求进行合理的设计,并对设计进行测试,找出问题、纠正问题,建设完成后还需对房屋进行验收和定期维护,生成一款软件同样需要经历这些步骤。严亮指出,软件可靠性工程是一项非常重要的工程活动,它涉及软件开发的各个阶段,从需求分析到设计、开发、测试、部署和维护等不同阶段,软件可靠性工程有着不同的重点和任务。在需求分析阶段,首先要确保软件能够准确地反映用户的实际需求;在设计阶段,要根据需求进行可靠性设计,确保软件的稳定性、可扩展性和可维护性;在开发阶段,要编写高质量的代码,让软件在功能、性能、接口、数据完整性、安全性等方面都能够满足要求;在测试阶段,要通过全面的测试和验证发现漏洞和缺陷,并及时解决问题;在部署和维护阶段,要对软件进行全面的管理和监控。“软件可靠性工程主要解决的问题包括如何提高软件可靠性要求、如何将软件可靠性设计进去、如何验证软件可靠性达到要求、如何进行软件可靠性的管理以及如何评价软件的可靠性水平。”严亮强调,“只有在整个软件生命周期都注重可靠性工程,才能够保证软件在使用过程中更加稳定、安全、可靠。”大模型兴起为MBSE提供新发展思路严亮表示:“人工智能技术,尤其是大模型的兴起,对于MBSE(基于模型的软件与系统工程)的发展起到了非常积极的推动作用。”与传统的软件系统工程相比,MBSE强调使用模型来描述和分析系统需求、设计和实现,并在模型的基础上对系统进行测试和验证。这不仅能够为软件开发者带来更直观的体验,还能有效提升系统的可靠性和可维护性,减少人工出错的可能。“现阶段,很多软件依然是基于自然语言描述的需求和设计文档来进行开发的,然而伴随软件的规模越来越大、复杂性越来越高,简单的一维、二维语言已经无法准确描述系统的复杂行为和性能,大模型则可以直接将自然语言描述的软件文档转化为模型,这将极大减少人工建模的工作量。”严亮说道,“最理想的情况就是,我们直接提供自然语言描述的需求,由大模型自动生成模型,再利用MBSE技术自动生成软件代码。”与此同时,大模型可以很好地提高MBSE的预测和验证能力。在过去,利用MBSE生成软件代码的过程中,代码是否有效、是否存在漏洞与问题、是否和用户需求一致,只能将代码编译运行后才能验证。大模型可以帮助工程师在系统开发的早期阶段发现并解决潜在的问题。使用大模型可以大幅提高预测和验证的准确性。例如,在机器人设计中,可以使用大模型来预测机器人的运动和行为,以便工程师更好地设计机器人的控制系统和传感器系统。在MBSE中,系统优化和自动化非常重要,因为它可以帮助工程师更快地设计和开发系统,并减少错误的发生。使用大模型可以帮助工程师更好地进行系统优化和自动化,从而提高系统的效率和可靠性。例如,在智能家居系统的设计过程中,可以使用大模型来实现自动化系统的控制和优化,以便用户能够更方便地控制家居设备,提高生活品质。“软件的设计开发过程,建模优势明显,但成本很高。大家往往会选择在关键环节使用不同的模型,因此整个软件工程会呈现多模型结合的形式。未来如果能有一个统一的大模型,软件工程的设计开发,以及功能质量、可靠性、安全性等或将迎来大幅提升。”严亮表示。她认为,当前,一方面,应该积极加强对人工智能系统本身的可靠性研究;另一方面,应该对如何更好地利用人工智能技术提高软件可靠性分析水平进行深入研究。
标签: