CN117574343A - 软件系统安全验证方法和装置 - Google Patents
软件系统安全验证方法和装置 Download PDFInfo
- Publication number
- CN117574343A CN117574343A CN202311596014.XA CN202311596014A CN117574343A CN 117574343 A CN117574343 A CN 117574343A CN 202311596014 A CN202311596014 A CN 202311596014A CN 117574343 A CN117574343 A CN 117574343A
- Authority
- CN
- China
- Prior art keywords
- software
- information
- model
- simulation system
- fault
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 116
- 238000012795 verification Methods 0.000 title claims abstract description 31
- 230000008569 process Effects 0.000 claims abstract description 73
- 238000012545 processing Methods 0.000 claims abstract description 30
- 230000005012 migration Effects 0.000 claims description 36
- 238000013508 migration Methods 0.000 claims description 36
- 238000002347 injection Methods 0.000 claims description 34
- 239000007924 injection Substances 0.000 claims description 34
- 238000004088 simulation Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 16
- 230000009471 action Effects 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000005094 computer simulation Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 5
- 238000013461 design Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000006399 behavior Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种软件系统安全验证方法和装置,涉及软件技术领域,方法包括:获取预先定义的软件模拟系统运行配置文件和模型文件;解析所述配置文件获取软件模拟系统运行所需的相关参数信息;解析所述模型文件获取软件模拟系统的模型信息;基于所述模型信息和所述相关参数信息运行软件模拟系统模拟软件系统运行过程中任务的调度以及故障的处理;输出软件模拟系统的运行日志和故障日志。本发明可以实现动态模拟软件系统设计模型的运行,发现在运行状态下与模型动态行为相关的错误信息,使得设计人员可以及时进行纠正,避免后续软件运行过程中错误的出现。
Description
技术领域
本发明涉及软件技术领域,可用于金融技术领域,尤其涉及一种软件系统安全验证方法和装置。
背景技术
软件工程领域有很多基于对软件系统模型的形式化验证,使用形式化验证的方法可以高效地对系统进行验证,并准确发现错误发生的具体位置。安全性分析和验证领域已经有高安全性应用开发环境SCADE和航空航天领域的DO178C等认证标准,覆盖了各个复杂软件系统领域。但是这种形式化验证只针对模型中的静态信息,忽略了状态变化、数据变化、组件交互、事件等动态因素,所以无法发现系统处于真实运行状态下可能出现的问题。
发明内容
有鉴于此,本发明提供一种软件系统安全验证方法和装置,以解决上述提及的至少一个问题。
为了实现上述目的,本发明采用以下方案:
根据本发明的第一方面,提供一种软件系统安全验证方法,所述方法包括:获取预先定义的软件模拟系统运行配置文件和模型文件;解析所述配置文件获取软件模拟系统运行所需的相关参数信息;解析所述模型文件获取软件模拟系统的模型信息;基于所述模型信息和所述相关参数信息运行软件模拟系统模拟软件系统运行过程中任务的调度以及故障的处理;输出软件模拟系统的运行日志和故障日志。
作为本发明的一个实施例,上述相关参数信息包括故障注入模型中各元素的值、模拟运行的时间、时间片的长度、系统输入信息、选定的调度算法和时间相关信息,所述时间相关信息包括动态模拟时若涉及实时性所需要配置的最坏实行时间、截止时间,以及在故障强制注入的场景所需要配置的注入时间点。
作为本发明的一个实施例,上述模型信息包括:组件信息、组件中涉及到的数据信息、状态信息、状态间的迁移信息、事件触发信息和子系统间的关联信息。
作为本发明的一个实施例,上述基于所述模型信息和所述相关参数信息运行软件模拟系统模拟软件系统运行过程中任务的调度以及故障的处理包括:基于所述模型信息和所述相关参数信息模拟状态的迁移过程,生成多个任务并调度执行任务;在任务的执行过程中根据发生的状态动作以及故障注入的过程修改数据以继续触发迁移事件;当达到模拟运行时间后停止软件模拟过程。
作为本发明的一个实施例,上述输出软件模拟系统的运行日志和故障日志之后,所述方法还包括:判断故障注入是否引发了新故障、所有故障是否得到了处理、故障处理过程中是否引发了新故障,基于判断结果调整软件系统的故障处理策略。
作为本发明的一个实施例,上述状态的迁移过程通过遍历当前状态对应的迁移集的触发事件是否满足,如果满足,则迁移到新的状态执行。
作为本发明的一个实施例,上述任务的执行过程包括:通过获取调度得到的当前的时间片和任务实例的映射表,获取当前应该执行的任务实例;根据任务实例的当前状态剩余的时间片,来判断任务具体的执行过程。
根据本发明的第二方面,提供一种软件系统安全验证装置,所述装置包括:文件获取单元,用于获取预先定义的软件模拟系统运行配置文件和模型文件;第一解析单元,用于解析所述配置文件获取软件模拟系统运行所需的相关参数信息;第二解析单元,用于解析所述模型文件获取软件模拟系统的模型信息;模拟运行单元,用于基于所述模型信息和所述相关参数信息运行软件模拟系统模拟软件系统运行过程中任务的调度以及故障的处理;输出单元,用于输出软件模拟系统的运行日志和故障日志。
作为本发明的一个实施例,上述相关参数信息包括故障注入模型中各元素的值、模拟运行的时间、时间片的长度及个数、选定的调度算法和时间相关信息,所述时间相关信息包括动态模拟时若涉及实时性所需要配置的最坏实行时间、截止时间,以及在故障强制注入的场景所需要配置的注入时间点。
作为本发明的一个实施例,上述模型信息包括:组件信息、组件中涉及到的数据信息、状态信息、状态间的迁移信息、事件触发信息和子系统间的关联信息。
作为本发明的一个实施例,上述模拟运行单元包括:任务生产模块,用于基于所述模型信息和所述相关参数信息模拟状态的迁移过程,生成多个任务并调度执行任务;数据修改模块,用于在任务的执行过程中根据发生的状态动作以及故障注入的过程修改数据以继续触发迁移事件;模拟停止模块,用于当达到模拟运行时间后停止软件模拟过程。
作为本发明的一个实施例,上述装置还包括:判断单元,用于判断故障注入是否引发了新故障、所有故障是否得到了处理、故障处理过程中是否引发了新故障,调整模块,用于基于判断结果调整软件系统的故障处理策略。
作为本发明的一个实施例,上述状态的迁移过程通过遍历当前状态对应的迁移集的触发事件是否满足,如果满足,则迁移到新的状态执行。
作为本发明的一个实施例,上述任务的执行过程包括:通过获取调度得到的当前的时间片和任务实例的映射表,获取当前应该执行的任务实例;根据任务实例的当前状态剩余的时间片,来判断任务具体的执行过程。
根据本发明的第三方面,提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,处理器执行所述计算机程序时实现上述方法的步骤。
根据本发明的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
由上述技术方案可知,本发明提供的软件系统安全验证方法和装置,通过获取预先定义的软件模拟系统运行配置文件和模型文件;解析所述配置文件获取软件模拟系统运行所需的相关参数信息;解析所述模型文件获取软件模拟系统的模型信息;基于所述模型信息和所述相关参数信息运行软件模拟系统模拟软件系统运行过程中任务的调度以及故障的处理;输出软件模拟系统的运行日志和故障日志。本发明可以实现动态模拟软件系统设计模型的运行,发现在运行状态下与模型动态行为相关的错误信息,使得设计人员可以及时进行纠正,避免后续软件运行过程中错误的出现。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请实施例提供的一种软件系统安全验证方法的流程示意图;
图2是本申请另一实施例提供的一种软件系统安全验证方法的流程示意图;
图3是本申请实施例提供任务的执行过程的流程示意图;
图4是本申请实施例提供的动态模拟器的功能结构设计图;
图5是本申请实施例提供的一种软件系统安全验证装置的结构示意图;
图6是本申请实施例提供的模拟运行单元的结构示意图;
图7是本申请实施例提供的电子设备的系统构成示意框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
由于软件工程领域的形式化验证只针对模型中的静态信息,忽略了状态变化、数据变化、组件交互、事件等动态因素,所以无法发现系统处于真实运行状态下可能出现的问题。因此本申请的目的在于提供一种软件系统安全验证方法和装置,可以实现动态模拟软件系统设计模型的运行,发现在运行状态下与模型动态行为相关的错误信息,使得设计人员可以及时进行纠正,避免后续软件运行过程中错误的出现。
本实施例的软件系统安全验证方法是从动态模拟器侧对本申请进行的说明,动态模拟的目标是模拟系统的真实运行状态,发现只有真实运行状态下才能检测到的模型动态行为信息相关的错误,软件系统模型中存在很多的功能单位,每个功能单位中都存在多项任务,即状态的迁移过程。本申请多个功能单位的多项任务会以并发的形式运行,在软件系统运行的过程中可能会出现迁移事件定义错误,导致无法迁移成功,或者调度算法不当导致多个任务无法完成,或故障发生系统无法处理等一系列的错误,而这些错误只有在动态的运行过程中才可能被发现。因此,本申请的动态模拟器重点关注系统的组件、状态、迁移、事件、数据、任务、周期、调度、运行时间、故障等相关的信息。表1为本申请动态模拟器设计中涉及到的几项重要的动态行为信息的说明。
表1
如图1所示为本申请实施例提供的一种软件系统安全验证方法的流程示意图,该方法包括如下步骤:
步骤S101:获取预先定义的软件模拟系统运行配置文件和模型文件。
步骤S102:解析所述配置文件获取软件模拟系统运行所需的相关参数信息。
在本实施例中,配置文件中主要包含软件动态模拟时人为控制的一些动态信息。优选的,本实施例的相关参数信息可以包括故障注入模型中各元素的值、模拟运行的时间、时间片的长度及个数、选定的调度算法和时间相关信息,这里的时间相关信息是包括动态模拟时若涉及实时性所需要配置的实时性相关元素即最坏实行时间(wcet),以及截止时间(deadline),另外还包括在故障强制注入的场景所需要配置的注入时间点。
步骤S103:解析所述模型文件获取软件模拟系统的模型信息。
在本实施例中,模型文件中包含了软件系统的静态信息,如上述表1中的组件信息、组件中涉及到的数据信息、状态信息、状态间的迁移信息、事件触发信息、子系统间的关联信息等。
需要指出的是,本实施例中步骤S102和步骤S103可以是同时执行的也可以是先后执行的,本申请对其实施顺序并不加以限定。
步骤S104:基于所述模型信息和所述相关参数信息运行软件模拟系统模拟软件系统运行过程中任务的调度以及故障的处理。
动态模拟器的运行是基于状态机的运行,通过模拟处于动态变化的数据、组件、状态、迁移、迁移条件、状态动作、故障注入、任务队列、时间片、任务调度等信息,模拟时间的推进过程,从而模拟系统真实运行的运行状况。
动态模拟器的运行机制是模拟操作系统的时间片的概念,在时间片粒度上来调度任务实例的执行,以时间片的推进过程来模拟多项任务的多个任务实例在系统中并发执行的场景。任务队列调度的标准是当前到达任务的截止时间、最坏执行时间等时间相关要素。动态模拟器维护一个全局的时间片,定义一个周期,模拟器会按照这个周期来增加时间片的值,模拟时间的迁移。在模拟器中设置输入后,会在每个时间片内进行任务的管理和任务执行,并定期将任务执行中写的日志缓存刷新到持久层日志文件中。
在任务执行过程中,如果当前状态满足故障注入的上下文,那么会根据故障注入策略文件中指定的故障注入模式来注入故障,故障注入过程通过修改触发事件的数据来实现。每个时间片的任务执行,都会将相关的状态执行日志和故障日志分别写入状态执行日志和故障日志的缓存。
步骤S105:输出软件模拟系统的运行日志和故障日志。
由上述可知,本申请可以实现动态模拟软件系统设计模型的运行,发现在运行状态下与模型动态行为相关的错误信息,使得设计人员可以及时进行纠正,避免后续软件运行过程中错误的出现。
如图2所示为本申请另一实施例提供的一种软件系统安全验证方法的流程示意图,该方法包括如下步骤:
步骤S201:获取预先定义的软件模拟系统运行配置文件和模型文件。
步骤S202:解析所述配置文件获取软件模拟系统运行所需的相关参数信息。
步骤S203:解析所述模型文件获取软件模拟系统的模型信息。
步骤S204:基于所述模型信息和所述相关参数信息模拟状态的迁移过程,生成多个任务并调度执行任务。
任务的状态迁移机制是在当前任务实例执行的时间片内判断触发其迁移的事件以及其截止时间的情况。模拟器维护了系统中所有数据的当前值,以及所有组件的当前状态。通过解析迁移事件并获取事件相关的数据,判定迁移事件是否被触发,从而模拟状态的迁移过程,具体来说,状态的迁移过程可以通过遍历当前状态对应的迁移集的触发事件是否满足,如果满足,则迁移到新的状态执行。
步骤S205:在任务的执行过程中根据发生的状态动作以及故障注入的过程修改数据以继续触发迁移事件。
优选的,如图3所示,本实施例中任务的执行过程可以包括如下捕捉:
步骤S301:通过获取调度得到的当前的时间片和任务实例的映射表,获取当前应该执行的任务实例。
步骤S302:根据任务实例的当前状态剩余的时间片,来判断任务具体的执行过程。
步骤S206:当达到模拟运行时间后停止软件模拟过程。
步骤S207:输出软件模拟系统的运行日志和故障日志。
步骤S208:判断故障注入是否引发了新故障、所有故障是否得到了处理、故障处理过程中是否引发了新故障,基于判断结果调整软件系统的故障处理策略。
在模拟运行的过程中,由于故障注入有可能引发新的故障,比如多个故障发生可能会对系统中的数据产生复合作用,进而导致新的故障发生,如果系统中并未定义对于新故障的故障处理,可能会影响系统的正常运行。另外故障处理过程也可能引发新的故障,比如故障处理的过程可能会由于操作数据,导致新的故障发生,或者由于多次重试,导致时间片的大量消耗,从而影响到其他任务的执行,发生超时故障。因此本申请会判断故障注入是否引发了新故障、所有故障是否得到了处理、故障处理过程中是否引发了新故障,然后基于判断结果调整软件系统的故障处理策略,避免处理过程中引发新故障,影响系统安全。
由上述技术方案可知,本发明提供的软件系统安全验证方法,通过获取预先定义的软件模拟系统运行配置文件和模型文件;解析所述配置文件获取软件模拟系统运行所需的相关参数信息;解析所述模型文件获取软件模拟系统的模型信息;基于所述模型信息和所述相关参数信息运行软件模拟系统模拟软件系统运行过程中任务的调度以及故障的处理;输出软件模拟系统的运行日志和故障日志。可以实现动态模拟软件系统设计模型的运行,发现在运行状态下与模型动态行为相关的错误信息,使得设计人员可以及时进行纠正,避免后续软件运行过程中错误的出现。
如图4所示为本申请实施例提供的动态模拟器的功能结构设计图,由图4可见,该动态模拟器包括任务调度模块、任务执行模块、任务队列管理模块、故障注入模块、信息管理模块和文件解析模块。
任务调度模块可以依据配置文件中定义的调度算法,调度任务队列中的任务。
任务执行模块与其他模块都紧密相关,在任务执行的过程中判断状态的迁移,根据状态动作改变数据,及时调用管理模块,更新信息,并在当前时间片内判断任务执行的情况,调用任务管理模块,将任务放入对应的任务队列。
任务队列管理模块通过对迁移事件、任务的周期、截止时间的综合判断,将当前任务移入或移出等待队列或阻塞队列。
故障注入模块主要是根据解析配置文件后获取的故障注入策略模型,在任务执行的过程中及时将指定故障注入系统中。
信息管理模块中包含组件信息、数据信息、状态信息、迁移信息、事件信息等的管理,及时更新这些信息。
文件解析模块通过解析模型文件和配置文件获取系统运行所需的相关信息、故障注入信息以及模型的动态行为信息。
如图5所示为本申请实施例提供的一种软件系统安全验证装置的结构示意图,该装置包括:文件获取单元510、第一解析单元520、第二解析单元530、模拟运行单元540和输出单元550,它们之间依次相连。
文件获取单元510,用于获取预先定义的软件模拟系统运行配置文件和模型文件。
第一解析单元520,用于解析所述配置文件获取软件模拟系统运行所需的相关参数信息。
第二解析单元530,用于解析所述模型文件获取软件模拟系统的模型信息。
模拟运行单元540,用于基于所述模型信息和所述相关参数信息运行软件模拟系统模拟软件系统运行过程中任务的调度以及故障的处理。
输出单元550,用于输出软件模拟系统的运行日志和故障日志。
优选的,上述相关参数信息包括故障注入模型中各元素的值、模拟运行的时间、时间片的长度及个数、选定的调度算法和时间相关信息。
优选的,上述模型信息包括:组件信息、组件中涉及到的数据信息、状态信息、状态间的迁移信息、事件触发信息和子系统间的关联信息。
优选的,如图6所示,上述模拟运行单元540包括:任务生产模块541,用于基于所述模型信息和所述相关参数信息模拟状态的迁移过程,生成多个任务并调度执行任务;数据修改模块542,用于在任务的执行过程中根据发生的状态动作以及故障注入的过程修改数据以继续触发迁移事件;模拟停止模块,用于当达到模拟运行时间后停止软件模拟过程。
优选的,上述装置还包括:判断单元,用于判断故障注入是否引发了新故障、所有故障是否得到了处理、故障处理过程中是否引发了新故障,调整模块,用于基于判断结果调整软件系统的故障处理策略。
优选的,上述状态的迁移过程通过遍历当前状态对应的迁移集的触发事件是否满足,如果满足,则迁移到新的状态执行。
优选的,上述任务的执行过程包括:通过获取调度得到的当前的时间片和任务实例的映射表,获取当前应该执行的任务实例;根据任务实例的当前状态剩余的时间片,来判断任务具体的执行过程。
由上述技术方案可知,本发明提供的软件系统安全验证装置,通过获取预先定义的软件模拟系统运行配置文件和模型文件;解析所述配置文件获取软件模拟系统运行所需的相关参数信息;解析所述模型文件获取软件模拟系统的模型信息;基于所述模型信息和所述相关参数信息运行软件模拟系统模拟软件系统运行过程中任务的调度以及故障的处理;输出软件模拟系统的运行日志和故障日志。可以实现动态模拟软件系统设计模型的运行,发现在运行状态下与模型动态行为相关的错误信息,使得设计人员可以及时进行纠正,避免后续软件运行过程中错误的出现。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现上述方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有执行上述方法的计算机程序。
如图7所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理器130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图7中所示的所有部件;此外,电子设备600还可以包括图7中没有示出的部件,可以参考现有技术。
如图7所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种软件系统安全验证方法,其特征在于,所述方法包括:
获取预先定义的软件模拟系统运行配置文件和模型文件;
解析所述配置文件获取软件模拟系统运行所需的相关参数信息;
解析所述模型文件获取软件模拟系统的模型信息;
基于所述模型信息和所述相关参数信息运行软件模拟系统模拟软件系统运行过程中任务的调度以及故障的处理;
输出软件模拟系统的运行日志和故障日志。
2.如权利要求1所述的软件系统安全验证方法,其特征在于,所述相关参数信息包括故障注入模型中各元素的值、模拟运行的时间、时间片的长度及个数、选定的调度算法和时间相关信息,所述时间相关信息包括动态模拟时若涉及实时性所需要配置的最坏实行时间、截止时间,以及在故障强制注入的场景所需要配置的注入时间点。
3.如权利要求1所述的软件系统安全验证方法,其特征在于,所述模型信息包括:组件信息、组件中涉及到的数据信息、状态信息、状态间的迁移信息、事件触发信息和子系统间的关联信息。
4.如权利要求1所述的软件系统安全验证方法,其特征在于,所述基于所述模型信息和所述相关参数信息运行软件模拟系统模拟软件系统运行过程中任务的调度以及故障的处理包括:
基于所述模型信息和所述相关参数信息模拟状态的迁移过程,生成多个任务并调度执行任务;
在任务的执行过程中根据发生的状态动作以及故障注入的过程修改数据以继续触发迁移事件;
当达到模拟运行时间后停止软件模拟过程。
5.如权利要求4所述的软件系统安全验证方法,其特征在于,所述输出软件模拟系统的运行日志和故障日志之后,所述方法还包括:判断故障注入是否引发了新故障、所有故障是否得到了处理、故障处理过程中是否引发了新故障,基于判断结果调整软件系统的故障处理策略。
6.如权利要求4所述的软件系统安全验证方法,其特征在于,所述状态的迁移过程通过遍历当前状态对应的迁移集的触发事件是否满足,如果满足,则迁移到新的状态执行。
7.如权利要求4所述的软件系统安全验证方法,其特征在于,所述任务的执行过程包括:
通过获取调度得到的当前的时间片和任务实例的映射表,获取当前应该执行的任务实例;
根据任务实例的当前状态剩余的时间片,来判断任务具体的执行过程。
8.一种软件系统安全验证装置,其特征在于,所述装置包括:
文件获取单元,用于获取预先定义的软件模拟系统运行配置文件和模型文件;
第一解析单元,用于解析所述配置文件获取软件模拟系统运行所需的相关参数信息;
第二解析单元,用于解析所述模型文件获取软件模拟系统的模型信息;
模拟运行单元,用于基于所述模型信息和所述相关参数信息运行软件模拟系统模拟软件系统运行过程中任务的调度以及故障的处理;
输出单元,用于输出软件模拟系统的运行日志和故障日志。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311596014.XA CN117574343A (zh) | 2023-11-27 | 2023-11-27 | 软件系统安全验证方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311596014.XA CN117574343A (zh) | 2023-11-27 | 2023-11-27 | 软件系统安全验证方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117574343A true CN117574343A (zh) | 2024-02-20 |
Family
ID=89887901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311596014.XA Pending CN117574343A (zh) | 2023-11-27 | 2023-11-27 | 软件系统安全验证方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117574343A (zh) |
-
2023
- 2023-11-27 CN CN202311596014.XA patent/CN117574343A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104268055B (zh) | 一种程序异常的监控方法和装置 | |
CN112783793B (zh) | 自动化接口测试系统及方法 | |
CN111797015B (zh) | 一种基于动态字节码的测试方法及装置 | |
CN111782525B (zh) | Java方法远程调试方法及装置 | |
CN103888605A (zh) | 一种信息处理的方法及电子设备 | |
CN115858175B (zh) | 异步i/o请求优先级的调度方法、装置、介质及控制设备 | |
CN111414303B (zh) | 一种用于脚本性能测试的辅助系统及方法 | |
CN111736772A (zh) | 分布式文件系统的存储空间数据处理方法及装置 | |
CN113672748A (zh) | 多媒体信息播放方法及装置 | |
CN112131015A (zh) | 一种信息处理方法、装置、云服务器和存储介质 | |
CN113760611B (zh) | 系统站点切换方法、装置、电子设备及存储介质 | |
TW201426494A (zh) | 判斷控制項狀態的方法 | |
CN107133072B (zh) | 一种操作执行方法和装置 | |
CN112905461A (zh) | 自动化接口测试案例执行方法及装置 | |
CN117574343A (zh) | 软件系统安全验证方法和装置 | |
KR101575369B1 (ko) | 비휘발성 메모리에 기록 및 소거하기 위한 방법 | |
CN111767558A (zh) | 数据访问监控方法、装置及系统 | |
KR100640243B1 (ko) | 이동통신 단말기의 응용프로그램 실행속도 향상장치 및방법 | |
CN113434423A (zh) | 接口测试方法及装置 | |
CN111444225B (zh) | 通用指标解析方法及装置 | |
CN104008029A (zh) | 内核性能测试的方法及装置 | |
CN114816032B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN114416373A (zh) | 资源调整方法及装置 | |
CN113779152A (zh) | 异步数据导出方法及装置 | |
CN114153449A (zh) | 业务配置方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |