掌桥专利:专业的专利平台
掌桥专利
首页

同时测试经由通信网络连接的多个电子设备是否正确处理异常

文献发布时间:2023-06-19 11:55:48


同时测试经由通信网络连接的多个电子设备是否正确处理异常

相关申请

本申请要求2018年12月7日提交的美国临时专利申请号62/776,581的优先权,该美国临时专利申请的全部内容特此通过引用并入。

背景技术

对于软件开发者来说,重要的是测试经由通信网络连接的电子设备是否正确处理响应于接收损坏数据而抛出的异常。对异常的不正确处理可能引起电子设备变得无响应,允许对电子设备进行未经授权的访问,或者具有其他不合期望的后果。经由通信网络连接的电子设备的示例是包括在车辆中的多个电子设备,所述多个电子设备通过例如控制区域网络(CAN)总线连接。在现有系统中,经由包括在车辆中的通信网络连接的用户测试设备必须单独测试每个电子设备。

发明内容

使用现有系统来测试经由通信网络连接的电子设备是对时间的低效使用和对计算资源的低效使用,因为每个设备都是单独测试的。此外,同时测试多个电子设备模拟了现实世界的情形,其中电子设备经由通信网络(例如,总线)以高负载和时延不断地通信。单独测试电子设备降低了发现至少部分由通信网络中增加的负载或时延引起的问题的机会。本文描述的实施例提供了用于同时测试经由通信网络连接的多个电子设备是否正确处理异常的系统和方法。

一个实施例提供了一种用于同时测试经由通信网络连接的多个电子设备是否正确处理异常的系统。该系统包括通信网络,以及经由通信网络连接的多个电子设备和测试设备。测试设备包括电子处理器。电子处理器被配置为经由通信网络向多个电子设备发送第一状态查询消息,经由通信网络向所述多个电子设备中的一个或多个发送模糊数据,以及经由通信网络向所述多个电子设备发送第二状态查询消息。电子处理器还被配置为,对于用有效响应来响应于第一状态查询消息以及用无效响应来响应于第二状态查询消息或者未能响应于第二状态查询消息的每个电子设备,将该电子设备记录在故障日志中。

另一个实施例提供了一种同时测试经由通信网络连接的多个电子设备是否正确处理异常的方法。该方法包括利用电子处理器经由通信网络向多个电子设备发送第一状态查询消息,利用电子处理器经由通信网络向所述多个电子设备中的一个或多个发送模糊数据,以及利用电子处理器经由通信网络向所述多个电子设备发送第二状态查询消息。该方法还包括,对于用有效响应来响应于第一状态查询消息以及用无效响应来响应于第二状态查询消息或者未能响应于第二状态查询消息的每个电子设备,将该电子设备记录在故障日志中。

通过考虑详细描述和附图,其他方面、特征和实施例将变得清楚。

附图说明

图1是根据一个实施例的用于同时测试经由通信网络连接的多个电子设备的系统的框图。

图2A是根据一个实施例的图1系统的测试设备的框图。

图2B是根据一个实施例的图1系统的第一电子设备的框图。

图3是根据一个实施例使用图1系统来同时测试经由通信网络连接的多个电子设备的方法的流程图。

图4是图3的方法的步骤305和310的说明性示例。

图5是根据一个实施例在图3的方法的步骤320和330中由测试设备发送的状态查询消息的说明性示例。

图6是根据一个实施例在图3的方法的步骤320、325和330中由测试设备发送的消息的说明性示例。

图7是根据一个实施例在图3方法的步骤320、325和330中由测试设备发送的消息以及当电子设备正确处理异常时测试设备接收的响应的说明性示例。

图8是根据一个实施例在图3方法的步骤320、325和330中由测试设备发送的消息以及当一个电子设备未正确处理异常时测试设备接收的响应的说明性示例。

具体实施方式

在详细解释任何实施例之前,将理解的是,本公开不旨在将其应用方面限制于在以下描述中阐述的或在以下附图中图示的构造细节和部件布置。实施例能够具有其他配置,并且能够以各种方式被实践或实行。

可以使用多个基于硬件和软件的设备以及多个不同的结构部件来实现各种实施例。另外,实施例可以包括硬件、软件和电子部件或模块,出于讨论的目的,电子部件或模块可以被图示和描述为好像大多数部件仅在硬件中实现。然而,本领域的普通技术人员并且基于对该详细描述的阅读将认识到,在至少一个实施例中,本发明的基于电子的方面可以在可由一个或多个处理器执行(例如,存储在非暂时性计算机可读介质上)的软件中实现。例如,说明书中描述的“控制单元”和“控制器”可以包括一个或多个电子处理器、包括非暂时性计算机可读介质的一个或多个存储器模块、一个或多个通信接口、一个或多个专用集成电路(ASIC)以及连接各种部件的各种连接(例如,系统总线)。

图1图示了用于同时测试经由通信网络连接的多个电子设备是否正确处理异常的系统100。在图示的示例中,系统100包括经由通信网络125连接的测试设备105(其是电子设备)、第一电子设备110、第二电子设备115和第三电子设备120(本文统称为电子设备110、115、120)。虽然通信网络125在本文中图示为总线(例如,CAN总线),但是通信网络125可以使用其他网络协议和其他网络模态来实现,其例如包括诸如因特网的广域网、诸如Wi-Fi网络的局域网、诸如蓝牙网络™、近场通信连接的短程无线网络及其组合或衍生物。图1中图示的实施例仅提供了系统100的部件和连接的一个示例。在其他实施例中,这些部件和连接可以用与本文图示和描述的方式相比不同的其他方式来构造。例如,系统100可以包括与图1中图示的四个电子设备相比不同数量的电子设备。

图2A是图1的系统100的测试设备105的示例的框图。测试设备105包括向测试设备105内的部件和模块提供电力、操作控制和保护的多个电气和电子部件。测试设备105除了其他事物之外尤其包括电子处理器200(诸如可编程电子微处理器、微控制器或类似设备)、存储器205(例如,非暂时性计算机或机器可读存储器)、通信接口210、显示设备215和输入设备220。显示设备215可以例如是触摸屏、液晶显示器(“LCD”)、发光二极管(“LED”)显示器、有机LED(“OLED”)显示器、电致发光显示器(“ELD”)等。输入设备220可以例如是小键盘、鼠标、触摸屏(例如,作为显示设备215的一部分)、麦克风、相机等。电子处理器200可通信地连接到存储器205、通信接口210、显示设备215和输入设备220。与存储器205和通信接口210协作的电子处理器200被配置为除了其他事物之外尤其实现本文描述的方法。例如,电子处理器200可以执行包括在存储器205中的模糊器(fuzzer)软件225,以创建模糊数据。测试设备105可以包含子模块,该子模块包括附加的电子处理器、存储器或专用集成电路(ASIC),用于处理通信功能、信号处理和下面列出的方法的应用。在一些实施例中,测试设备105包括附加的、更少的或不同的部件。在一些实施例中,被描述为由测试设备105执行的功能可以分布在多个设备之中。

图2B是图1的系统100的第一电子设备110的框图。第一电子设备110包括向第一电子设备110内的部件和模块提供电力、操作控制和保护的多个电气和电子部件。第一电子设备110除了其他事物之外尤其包括电子处理器230(诸如可编程电子微处理器、微控制器或类似设备)、存储器235(例如,非暂时性计算机或机器可读存储器)和通信接口240。电子处理器230可通信地连接到存储器235和通信接口240。与存储器235和通信接口240协作的电子处理器230被配置为除了其他事物之外尤其实现本文描述的方法。第一电子设备110可以包含子模块,所述子模块包括附加的电子处理器、存储器或专用集成电路(ASIC),用于处理通信功能、信号处理和下面列出的方法的应用。在一些实施例中,第一电子设备110包括附加的、更少的或不同的部件。尽管本文没有图示,但是应当注意,第二电子设备115和第三电子设备120包括与如被包括在第一电子设备110中的图2B中图示的部件和连接类似的部件和连接。另外,第二电子设备115和第三电子设备120执行与本文描述的如由第一电子设备110执行的功能类似的功能。

图3是图示同时测试经由通信网络(例如,通信网络125)连接的多个电子设备(例如,第一电子设备110、第二电子设备115和第三电子设备120)是否正确处理异常的示例方法300的流程图。在一些实施例中,当在步骤305中电子处理器200经由通信网络125向多个电子设备发送第一消息以确定所述电子设备中的哪一个进行响应时,方法300开始。例如,在系统100中,电子处理器200向第一电子设备110、第二电子设备115和第三电子设备120发送第一消息。如下面将进一步详细描述的,第一消息的报头包括全局标识符。假设电子设备110、115、120和通信网络125适当地运转,电子设备110、115、120中的每一个接收第一消息并向电子处理器200发送确认它们连接到通信网络125的响应消息。图4提供了步骤305的图形示例。在图4中图示的示例实施例中,个人计算机将第一消息发送给经由CAN总线连接的多个电子控制单元(ECU)。

在步骤310中,电子处理器200创建它从其接收对第一消息的响应的每个电子设备的记录或日志。例如,电子处理器200可以为回复第一消息的每个电子设备记录唯一的标识符。应当注意,当电子设备在本文中被描述为被包括或记录在日志或记录中时,它是被记录在日志中的电子设备的唯一标识符。回复日志是可用于测试的电子设备的日志。电子处理器200可以经由显示设备215向用户显示可用于测试的电子设备的日志,使得用户可以选择用户希望测试的特定电子设备。在步骤315中,电子处理器200接收对要测试的一个或多个电子设备的选择或者确认可用于测试的多个电子设备中的每个电子设备应该被测试的选择。

在步骤320中,电子处理器200向连接到通信网络125的每个电子设备(例如,电子设备110、115、120)发送第一状态查询消息。第一状态查询消息查询电子设备是否正确操作。如下面将进一步详细描述的,第一状态查询消息的报头包括全局标识符。尽管第一状态查询消息被发送到连接到通信网络125的每个电子设备,但是电子处理器200仅在对第一状态查询的响应日志中记录它从所选电子设备接收的有效响应。例如,电子处理器200可以记录用有效响应回复第一状态查询消息的每个电子设备的唯一标识符。在一些实例中,并非所有所选的电子设备都响应。因此,由电子处理器200创建的对第一状态查询的响应的记录或日志提供了对所选电子设备中的哪个正在正确操作的指示或帮助对其确认。在一些实施例中,方法300开始于步骤320而不是步骤305,并且电子处理器200在对第一状态查询的响应日志中记录电子处理器200从其接收对第一状态查询消息的有效响应的每个电子设备。在步骤325中,电子处理器200向多个电子设备中的一个或多个(例如,多个电子设备中的每一个或所选电子设备中的每一个)发送带有模糊数据的消息。一般来说,模糊数据包括随机的、故意损坏的或被指定引起电子设备发生故障的大量数据。例如,模糊数据可以包括不适当类型或大小的数据,该数据当被电子设备接收时,引起该电子设备执行导致该电子设备(更具体地,该电子设备的电子处理器)抛出异常的操作。如果存储在电子设备的存储器中的计算机可执行指令包括用于处理异常的指令,则在抛出异常之后,电子设备将继续正常操作。否则,电子设备将在抛出异常之后例如通过变得无响应而发生故障。

在一些实施例中,电子处理器200接收例如ARXML(Autosar XML)文件的文件,并使用模糊器软件225解析ARXML文件以创建具有模糊数据的消息。通过解析ARXML文件,电子处理器200确定电子设备110、115、120被配置为接收的有效消息。为了创建模糊数据,电子处理器200可以变更有效消息的数据长度字段、有效消息的仲裁ID、有效消息的长度、有效消息的有效载荷等。稍微变更有效消息而不是创建包括随机数据的消息增加了电子处理器200创建当被电子设备接收时引起电子设备抛出异常的消息的可能性。

在步骤330中,电子处理器200向电子设备发送第二状态查询消息。如下面将进一步详细描述的,第二状态查询消息的报头包括全局标识符。电子处理器200在对第二查询消息的响应日志中记录用有效响应回复第二状态查询消息的每个电子设备。例如,电子处理器200可以记录用有效响应回复第二状态查询消息的每个电子设备的唯一标识符。应当注意,在电子处理器200接收到对电子设备的选择的一些情况下,仅用有效响应回复第二状态查询消息的所选设备被记录在对第二查询消息的响应日志中。对第二查询消息的响应日志提供了在接收到模糊数据之后哪些电子设备正在适当操作的指示。如应当清楚的,电子处理器200不记录不回复第二状态查询消息或者不用有效响应回复第二查询消息的电子设备的唯一标识符。在第二状态查询消息被发送到电子设备之后的预定量的时间,电子处理器200将用有效响应响应于第一状态查询消息的电子设备的唯一标识符与用有效响应响应于第二状态查询消息的电子设备的唯一标识符进行比较。通过该比较,电子处理器200确定一个或多个所选电子设备是否没有正确处理异常。在步骤335中,电子处理器200在故障日志中记录没有正确处理异常的电子设备(用有效响应来响应于第一状态查询消息以及用无效响应来响应于第二状态查询消息或者未能响应于第二状态查询消息的电子设备)。

在一些实施例中,在预定量的时间之后,电子处理器200向故障日志中记录的每个电子设备发送第三状态查询消息。在一些实施例中,当故障日志中记录的电子设备未响应于第三状态查询消息或者用无效响应进行回复时,电子处理器200向移动设备发送警报,或者经由显示设备215显示对发生故障的电子设备进行重启(power cycle)的选项。响应于从输入设备220或移动设备接收到对发生故障的电子设备进行重启的选项的选择,电子处理器200向发生故障的电子设备发送消息,以对发生故障的电子设备进行重启。在其他实施例中,当故障日志中记录的电子设备未响应于第三状态查询消息或以无效响应进行回复时,电子处理器200自动向发生故障的电子设备发送消息,以对发生故障的电子设备进行重启。在一些实施例中,电子处理器200接收新的或修订的计算机可执行指令,并将新的或修订的计算机可执行指令发送到记录在故障日志中的电子设备。新的或修订的计算机可执行指令替换了先前存储在电子设备的存储器中的计算机可执行指令。新的计算机可执行指令被指定:在将来当电子设备接收到类似于模糊数据——该模糊数据引起其被记录在故障日志中——的数据时,防止电子设备发生故障。

图5图示了电子处理器200发送到电子设备的状态查询消息的示例。与先前系统的状态查询消息不同,先前系统的状态查询消息在状态查询消息的报头中包括对单个电子设备唯一的设备标识符,由系统100发送的状态查询消息的报头包括查询被连接到通信网络125的每个电子设备的全局标识符。第一消息和第二查询消息的报头也将包括全局标识符。

图6是图示了方法300的步骤320、325和330的类似于图4的图形图示。

图7是类似于图6的图形图示。图7图示了当所选电子设备中的每一个用有效响应对第一状态查询消息和第二状态查询消息进行响应时,方法300的步骤320、325和330。

图8是类似于图7的图形图示。图8图示了当所选电子设备中的每一个用有效响应对第一状态查询消息进行响应,但是电子设备ECU_n-2未对第二状态查询消息进行响应时,方法300的步骤320、325和330。

因此,本文描述的实施例除了其他事物之外尤其提供了一种用于同时测试经由通信网络连接的多个电子设备是否正确处理异常的系统和方法。实施例的各种特征和优点在以下权利要求书中阐述。

相关技术
  • 同时测试经由通信网络连接的多个电子设备是否正确处理异常
  • 一种判断网络通信行为是否异常的方法、系统和电子设备
技术分类

06120113105076