System and method for parametric data item structure coverage analysis

By generating PDI configuration data and test data through a system and methodology, and using the configuration model and test model to perform structural coverage analysis, the shortcomings of PDI structural coverage analysis in existing technologies are addressed, meeting the DO-178C standard and improving the safety of avionics systems.

CN120950378APending Publication Date: 2025-11-14GE AVIC CIVIL AVIONICS SYST CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410575866.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-05-10
Publication Date
2025-11-14

AI Technical Summary

Technical Problem

There is a lack of effective methods in the existing technology to meet the analysis requirements of the DO-178C standard for the structural coverage of Parametric Data Items (PDIs), especially in avionics systems, where it is difficult to achieve the structural coverage target when the logical operators and operands of configuration data affect software behavior.

Method used

A system and method are provided, including a software development module, a model provision module, a software testing module, and a PDI structure coverage analysis module. By generating PDI configuration data and test data, the system performs structure coverage analysis using the configuration model and test model, identifies decision criteria, calculates coverage, and generates a coverage report.

Benefits of technology

It enables effective analysis of PDI structural coverage, meets the requirements of DO-178C standard, reduces the time and cost for test engineers, and improves the safety of avionics systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120950378A_ABST
    Figure CN120950378A_ABST
Patent Text Reader

Abstract

The invention discloses a system and method for parametric data item structure coverage analysis. A system for parameter data item PDI structure coverage analysis comprises a software development module for generating executable codes of software based on received software demand information and generating PDI configuration data based on received PDI demand information; the model providing module is used for providing a PDI configuration model to define the format of PDI configuration data and providing a PDI test model based on the PDI configuration model to define the format of PDI test data; the software test module is used for executing a demand-based test RBT on the executable code based on the received test script for the executable code according to the software demand information and the PDI demand information so as to obtain RBT test data; and the PDI structure coverage rate analysis module is used for carrying out structure coverage rate analysis according to the PDI configuration data, the PDI test data and the structure coverage rate type requirements to obtain a PDI structure coverage rate result.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to airborne parameter data items, and more particularly to systems and methods for analyzing the structural coverage of parameter data items. Background Technology

[0002] Configurable software is widely used in many application areas, including safety-critical systems such as avionics systems. Configurable software aims to perform all its functions using configuration data. Traditionally, configuration data refers to the attributes of entities used in the software; however, in modern software design, configuration data includes Boolean operators and operands to perform calculations for specified algorithms, providing greater convenience for the software. For example, various health management applications on aircraft are responsible for collecting status messages from many different Line Replaceable Units / Modules (LRUs / LRMs), analyzing data, and sending system status reports. A system requirement specifying a particular bit in the system status report can be written as:

[0003] The Health Manager application shall set

[0004] Ambiguity_PCM_A_Fan&Valve_Assy_Left to Active in the System_Status_report

[0005] When:

[0006] PCM_A_Fan_Ambiguity_Fault=Active OR PCM_A_Valve_Ambiguity_Fault=Active

[0007] (The health management application will set Ambiguity_PCM_A_Fan&Valve_Assy_Left to active in the system status report.)

[0008] when:

[0009] (PCM_A_Fan_Ambiguity_Fault is active or PCM_A_Valve_Ambiguity_Fault is active)

[0010] In this example, a single bit in the status report is asserted when one of the two status bits provided by the LRU is asserted. This requirement can be expressed as follows:

[0011] Boolean logic: Y = A||B

[0012] When the above requirements are not implemented through software code, but in a configurable manner, configuration data in a specific format can be generated. This means that the above text logic expressions are converted into a binary data format with high computational efficiency, so that the configuration data and configurable software together can fulfill the system requirements.

[0013] In the DO-178C standard for avionics software systems, configuration data is defined as a Parameter Data Item (PDI), which is a set of data. When used in the form of a Parameter Data Item file, this data affects the behavior of the software without modifying the executable code, and can be managed as a separate configuration item.

[0014] According to the DO-178C standard, Parameter Data Items (PDIs) must be assigned the same software level as the software components that use them. Some aircraft release documents require that "for PDIs, appropriate software level coverage targets must be met, and the applicant should submit proposed coverage standards for each database to the certification body," and in subsequent airworthiness communications, reach an agreement with the customer / certification body that if the PDI contains logical operations, then the corresponding software safety level's structural coverage targets must also be met. However, there is currently no method for structural coverage analysis of PDIs. Summary of the Invention

[0015] It should be understood that the above general description and the following detailed description of the invention are exemplary and illustrative, and are intended to provide further explanation of the invention as described in the claims.

[0016] According to one aspect of the present invention, a system for PDI structure coverage analysis of parameter data items is provided, comprising: a software development module for generating executable code of software based on received software requirement information, and generating PDI configuration data based on received PDI requirement information; a model providing module for providing a PDI configuration model, the PDI configuration model being used to define the format of PDI configuration data, and providing a PDI test model based on the PDI configuration model, the PDI test model being used to define the format of PDI test data; a software testing module for performing requirement-based testing (RBT) on the executable code based on the software requirement information and the PDI requirement information, and based on a received test script for the executable code to obtain RBT test data, wherein the software includes a PDI processing module, the PDI processing module being used to record PDI test data based on the PDI configuration model and the PDI test model, and based on the PDI configuration data and the RBT test data; and a PDI structure coverage analysis module for performing structure coverage analysis based on the PDI configuration data, the PDI test data, and structure coverage type requirements to obtain PDI structure coverage results.

[0017] In the above system, the PDI processing module includes: a PDI reading module, used to load the PDI configuration data, parse the PDI configuration data according to the PDI configuration model, and verify whether the PDI configuration data conforms to the PDI configuration model; a PDI calculation module, used to perform data operations on the PDI configuration data based on the RBT test data to obtain PDI calculation results; and a PDI recording module, used to record the PDI calculation results according to the PDI test model to obtain PDI test data.

[0018] In the above system, the PDI structure coverage analysis module is further configured to: receive the structure coverage type requirement; read the PDI configuration data according to the PDI configuration model; read the PDI test data according to the PDI test model; and generate the PDI structure coverage result according to the structure coverage type requirement.

[0019] In the above system, the PDI structure coverage analysis module is further used to: identify the decision expressions in the PDI configuration data; for each decision expression in the PDI configuration data, extract the corresponding condition and value of the decision expression from the PDI test data; and calculate the structure coverage of the decision expressions in the PDI configuration data using the coverage calculation formula corresponding to the structure coverage type requirement.

[0020] In the above system, the PDI structure coverage analysis module is further used to: generate a PDI structure coverage analysis report based on the PDI structure coverage report model, wherein the PDI structure coverage report model is provided by the model providing module, and the PDI structure coverage report model is used to define the format of the PDI structure coverage analysis report.

[0021] In the above system, when the PDI structure coverage value in the PDI structure coverage result is less than the threshold, the PDI processing module is further used to: re-record the PDI test data based on the RBT test data obtained for the modified test script.

[0022] According to another aspect of the present invention, a method for PDI structure coverage analysis is provided, comprising: generating executable code of software based on received software requirement information, and generating PDI configuration data based on received PDI requirement information; providing a PDI configuration model for defining the format of the PDI configuration data, and providing a PDI test model based on the PDI configuration model for defining the format of the PDI test data; performing requirement-based testing (RBT) on the executable code according to the software requirement information and the PDI requirement information, and based on a received test script for the executable code to obtain RBT test data; recording PDI test data according to the PDI configuration model and the PDI test model, and based on the PDI configuration data and the RBT test data; and performing structure coverage analysis according to the PDI configuration data, the PDI test data, and structure coverage type requirements to obtain a PDI structure coverage result.

[0023] In the above method, recording PDI test data based on the PDI configuration model and the PDI test model, and based on the PDI configuration data and the RBT test data, includes: loading the PDI configuration data; parsing the PDI configuration data according to the PDI configuration model; and verifying whether the PDI configuration data conforms to the PDI configuration model; performing data operations on the PDI configuration data based on the RBT test data to obtain PDI operation results; and recording the PDI operation results according to the PDI test model to obtain PDI test data.

[0024] In the above method, performing structural coverage analysis based on the PDI configuration data, the PDI test data, and the structural coverage type requirements to obtain the PDI structural coverage result includes: receiving the structural coverage type requirements; reading the PDI configuration data according to the PDI configuration model; reading the PDI test data according to the PDI test model; and generating the PDI structural coverage result according to the structural coverage type requirements.

[0025] In the above method, performing structural coverage analysis based on the PDI configuration data, the PDI test data, and the structural coverage type requirements to obtain the PDI structural coverage result further includes: identifying the decision expressions in the PDI configuration data; for each decision expression in the PDI configuration data, extracting the corresponding condition and value from the PDI test data; and using the coverage calculation formula corresponding to the structural coverage type requirements to calculate the structural coverage of the decision expressions in the PDI configuration data.

[0026] In the above method, generating the PDI structural coverage result according to the structural coverage type requirement further includes: generating a PDI structural coverage analysis report according to the PDI structural coverage report model, wherein the PDI structural coverage report model is used to define the format of the PDI structural coverage analysis report.

[0027] In the above method, when the PDI structure coverage value in the PDI structure coverage result is less than a threshold, the method further includes: re-recording the PDI test data based on the RBT test data obtained for the modified test script.

[0028] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium including code, which, when executed, causes a computer to perform the method described in any of the above methods. Attached Figure Description

[0029] The accompanying drawings are included to provide a further understanding of the invention; they are incorporated into and constitute a part of this application. The drawings illustrate embodiments of the invention and, together with this specification, serve to explain the principles of the invention. In the drawings:

[0030] Figure 1 This is a block diagram of a PDI (Plan-Do-In) structural coverage analysis system according to an embodiment of the present invention.

[0031] Figure 2 This is an operational diagram of a software development module according to an embodiment of the present invention.

[0032] Figure 3This is a schematic diagram illustrating the operation of the model providing module according to an embodiment of the present invention.

[0033] Figure 4 This is a schematic diagram of the operation of a software testing module according to an embodiment of the present invention.

[0034] Figure 5 This is a schematic diagram of the operation of the PDI processing module according to an embodiment of the present invention.

[0035] Figure 6 This is a schematic diagram of the operation of the PDI structure coverage analysis module according to an embodiment of the present invention.

[0036] Figure 7 This is a flowchart of a PDI processing and structural coverage analysis method according to an embodiment of the present invention.

[0037] Figure 8 This is a flowchart of a PDI structural coverage analysis method according to an embodiment of the present invention. Detailed Implementation

[0038] Embodiments of the invention will now be described in detail with reference to the accompanying drawings, but the invention is not limited thereto but is defined solely by the claims. In the drawings, some elements may be enlarged and drawn out of scale for illustrative purposes. Wherever possible, the same reference numerals will be used in all drawings to denote the same or similar parts.

[0039] Although the terminology used in this invention is selected from commonly known and used terms, some terms mentioned in this specification may have been chosen by the applicant in his or her judgment, and their detailed meanings are explained in the relevant sections of the description herein. Furthermore, the invention should be understood not only by the actual terms used, but also by the meaning implied by each term.

[0040] Numerous specific details are set forth in the description provided herein. However, it should be understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of the invention.

[0041] To meet the structural coverage targets of the corresponding software security level, and specifically for the structural coverage requirements of airborne PDI (Programmable Device Instruction) involving Boolean operator operations, this invention proposes a system and method for PDI structural coverage analysis.

[0042] Figure 1 This is a block diagram of a PDI (Plan-Do-Check-Act) structural coverage analysis system 100 according to an embodiment of the present invention. System 100 includes a software development module 102, a model providing module 104, a software testing module 106, and a PDI structural coverage analysis module 108.

[0043] During the software development phase, software development module 102 can develop software based on user needs. Figure 2 This is a schematic diagram illustrating the operation of the software development module 102 according to an embodiment of the present invention. During the software development phase, system requirements representing user needs can be presented in the form of system requirement information 202, where system requirements represent top-level requirements. System requirements can be further decomposed into software requirements presented in the form of software requirement information 204 and PDI requirements presented in the form of PDI requirement information 206. Software requirements can define the output values ​​under different input conditions based on system requirements. PDI requirements can define the logical relationship between inputs and outputs based on system requirements, i.e., logical expressions conforming to the configuration model format.

[0044] Software development module 102 can receive software requirement information 204 and generate software 212 based on the software requirement information 204. Then, software development module 102 can compile software 212 into executable code 216. Software development module 102 can further receive PDI requirement information 206 and generate PDI configuration data 214 based on the PDI requirement information 206.

[0045] return Figure 1 The model providing module 104 can provide a model for performing PDI structural coverage analysis. Figure 3 This is a schematic diagram of the operation of the model providing module 104 according to an embodiment of the present invention. The model providing module 104 can provide a PDI configuration model 302. In one embodiment, the PDI configuration model 302 can be pre-configured by the developer. The PDI configuration model 302 can define the format of PDI configuration data 214, as indicated by the dashed arrow (1) in the figure. The PDI configuration model 302 may include the following:

[0046] • PDI element types: Boolean operators, mathematical operators, functions, operands.

[0047] • Operators and functions: semantic symbol definition, functional definition, and precedence definition.

[0048] • Operand: Data type, offset within the message, and port attribute for receiving the corresponding message.

[0049] • PDI decision: identifier, number of Boolean operators, number of operands.

[0050] Furthermore, the model providing module 104 can provide a PDI test model 304 based on the PDI configuration model 302. In one embodiment, the PDI test model 304 can be pre-configured by the developer. The PDI test model 304 needs to be defined according to the PDI configuration model 302, as indicated by the dashed arrow (2) in the figure, for example, identifying operators that need to record input / output values, as well as their function declarations and parameter definitions from the PDI configuration model 302. The PDI test model 304 can define the format of the PDI test data 306, as indicated by the dashed arrow (3) in the figure. The PDI test model 304 may include the following:

[0051] • Operators and related functions that need to be recorded.

[0052] • Test data element format: element type (input / output), element name, element value.

[0053] • Test data file format.

[0054] return Figure 2 The software 212 generated by software development module 102 may further include PDI processing module 220. PDI processing module 220 can extend recording functionality based on PDI configuration model 302 and PDI test model 304 provided by model providing module 104. Specific details of PDI processing module 220 will be described later.

[0055] return Figure 1 During the software verification phase, the software testing module 106 can test the executable code 216. Figure 4 This is a schematic diagram of the operation of the software testing module 106 according to an embodiment of the present invention. The software testing module 106 can load executable code 216 to the target machine and receive a test script 402 for the executable code 216. The test script 402 can be written by testers based on software requirement information 204 and PDI requirement information 206, and is used to test the executable code 216, as indicated by the dashed arrow. Then, the software testing module 106 can perform requirement-based testing (RBT) on the executable code 216 based on the software requirement information 204 and PDI requirement information 206 and the test script 402 to obtain RBT test data 404.

[0056] Figure 5This is a schematic diagram of a PDI processing module 220 according to an embodiment of the present invention. As mentioned above, the PDI processing module 220 can extend its recording function according to the PDI configuration model 302 and the PDI test model 304. The PDI processing module 220 can record PDI test data 306 based on the PDI configuration model 302 and the PDI test model 304, and based on the PDI configuration data 214 and the RBT test data 404.

[0057] In one embodiment, the PDI processing module 220 may include a PDI reading module 502, a PDI calculation module 504, and a PDI recording module 506.

[0058] The PDI reading module 502 can load the PDI configuration data 214, parse the PDI configuration data 214 according to the PDI configuration model 302 (as indicated by the dashed arrow), and verify whether the PDI configuration data 214 conforms to the PDI configuration model 302.

[0059] After the PDI reading module 502 parses and verifies the PDI configuration data 214, the PDI calculation module 504 can perform data operations on the PDI configuration data 214 based on the RBT test data 404 to obtain the PDI calculation result 512. For example, the PDI calculation module 504 can perform calculations based on expressions defined in the PDI configuration data 214 (e.g., consisting of operators / functions and operands).

[0060] After the PDI calculation module 504 obtains the PDI calculation result 512, the PDI recording module 506 can record the PDI calculation result 512 according to the PDI test model 304 to obtain PDI test data 306. Traditional processing modules do not have recording functions. This application extends the recording function of the PDI processing module 220, enabling the PDI processing module 220 to record PDI test data 306 to achieve structural coverage analysis.

[0061] return Figure 1 The PDI structure coverage analysis module 108 can perform structure coverage analysis on the PDI test data 306. Figure 6 This is a schematic diagram of the operation of the PDI structure coverage analysis module 108 according to an embodiment of the present invention. After the PDI processing module 220 obtains the PDI test data 306, the PDI structure coverage analysis module 108 can perform structure coverage analysis based on the PDI configuration data 214, the PDI test data 306, and the structure coverage type requirement 602 to obtain the PDI structure coverage result.

[0062] In one embodiment, for structural coverage analysis, the PDI structural coverage analysis module 108 may receive a structural coverage type requirement 602. In one embodiment, the structural coverage type requirement 602 may be input or selected by the tester. For example, the structural coverage type for PDI may include:

[0063] • Statement Coverage (SC): Every executable statement was executed;

[0064] • Decision Coverage (DC): All possible outcomes of each decision occur at least once;

[0065] • Condition Coverage (CC): All values ​​of each condition in the decision must appear at least once;

[0066] • Condition / Decision Coverage (CDC): All values ​​of each condition in a decision must appear at least once, and all possible outcomes of each decision must appear at least once.

[0067] • Modified Condition / Decision Coverage (MCDC): All values ​​of each condition in a decision must appear at least once, all possible results of each decision must appear at least once, and each condition can independently affect the decision result.

[0068] In PDI configuration data 214, the decision is a Boolean expression consisting of a condition and a Boolean operator, where the condition is a Boolean expression that does not contain a Boolean operator. The received structure coverage type requirement 602 can be one of the above structure coverage types.

[0069] Then, the PDI structure coverage analysis module 108 can read the PDI configuration data 214 according to the PDI configuration model 302. Specifically, it can interpret the content of the PDI configuration data 214 based on the definitions of PDI element types, operators and functions, operands, PDI decision expressions, etc. in the PDI configuration model 302.

[0070] In one embodiment, the PDI structure coverage analysis module 108 can further identify decision expressions in the PDI configuration data 214. In the PDI configuration data 214, decision expressions may exist in Boolean expressions in the following form:

[0071] · Single decision

[0072] consolidated_fault_1=fault_a&&fault_b||fault_c

[0073] Here, fault_a, fault_b, and fault_c serve as three independent conditions in the judgment formula.

[0074] Parallel decision formula

[0075] consolidated_fault_2=(fault_a&&fault_b)+(fault_c||fault_d)

[0076] Here, "+" is a mathematical operator and is not within the scope of the decision structure coverage requirement. fault_a&&fault_b and fault_c||fault_d are two independent decision expressions, and the PDI structure coverage analysis module 108 needs to treat them as independent decision expressions for structure coverage analysis.

[0077] Nested decision expressions

[0078] consolidated_fault_3=fault_a&&fault_b&&function(x,y,

[0079] fault_c||fault_d)

[0080] The first-level decision is `fault_a&&fault_b&&function`, where the third input parameter of `function` is `fault_c||fault_d`. The second-level decision requires separate processing of these two decisions during coverage analysis. `function` is a function defined to perform a specific task and serves as a condition in the decision. The function `function` needs to be implemented in code, and its structural coverage analysis must be performed during code testing.

[0081] By identifying the decision expressions in PDI configuration data 214, it is possible to determine how to match the decision expressions in PDI configuration data 214 with the values ​​in PDI test data 306.

[0082] Next, the PDI structure coverage analysis module 108 can read the PDI test data 306 according to the PDI test model 304. Specifically, it can interpret the content of the PDI test data 306 based on the definitions of operators, functions, test data elements, etc. in the PDI test model 304.

[0083] In one embodiment, the PDI structure coverage analysis module 108 can extract the conditions and values ​​of the corresponding decision expressions from the PDI test data 306 for each decision expression in the PDI configuration data 214. For example, consider the following logical expression:

[0084] y = a&&b&&c||d

[0085] When the PDI processing module 220 performs data operations on the PDI configuration data 214 based on the RBT test data 404 and records and saves the input and output values ​​of the logic operators, after the complete operation of a decision expression is completed, the PDI processing module 220 can record the following set of data in sequence according to the operator operation order based on the PDI test model 304, as shown in Table 1.

[0086] Table 1

[0087]

[0088] Where a, b, c, and d are the conditions of the decision y, and x1 and x2 are temporary variables. When the PDI structural coverage analysis module 108 reads the PDI test data 306, the PDI structural coverage analysis module 108 can identify the original data and temporary calculation data from the above set of data stored in the PDI test data 306, and extract the original data, i.e., the values ​​of conditions a, b, c, and d in the decision and the decision y, for use in coverage analysis.

[0089] When the test script 402 for executable code 216 contains multiple test cases, the RBT test data 404 will contain multiple sets of different test data as the input parameter values ​​change. Therefore, the PDI processing module 220 can record multiple sets of different PDI test data in the PDI test data 306. When the PDI structure coverage analysis module 108 reads the PDI test data 306, the PDI structure coverage analysis module 108 can identify the original data and temporary calculated data from the multiple sets of data stored in the PDI test data 306, and extract the original data for coverage analysis.

[0090] Finally, the PDI structure coverage analysis module 108 can generate PDI structure coverage results according to the structure coverage type requirement 602. In one embodiment, the PDI structure coverage analysis module 108 can use the coverage calculation formula corresponding to the structure coverage type requirement 602 to calculate the structural coverage of the decision equation in the PDI configuration data 214. The overall idea of ​​the coverage calculation formula can be expressed as:

[0091]

[0092] It should be understood that any suitable coverage calculation formula in this field can be used.

[0093] In one embodiment, the PDI structural coverage analysis module 108 can further generate a PDI structural coverage analysis report 606 based on the PDI structural coverage report model 604. In one embodiment, the model providing module 104 can further provide the PDI structural coverage report model 604, which defines the format of the PDI structural coverage analysis report 606. In one embodiment, the PDI structural coverage report model 604 can be pre-configured by the tester. The PDI structural coverage report model 604 may include the following:

[0094] • PDI Structure Coverage Report Contents: PDI configuration data file name and baseline, PDI test data path, structure coverage type requirements, coverage percentage, criteria (identifier) ​​and conditions (parameter name) for coverage not meeting the target.

[0095] • PDI (Physical Integrity Report) format.

[0096] In one embodiment, when the PDI structure coverage value in the PDI structure coverage result is less than a threshold, the tester can modify the test script 402. The software testing module 106 can retest the executable code 216 based on the modified test script 402 to obtain RBT test data 404, and the PDI processing module 220 can further re-record PDI test data 306 based on the RBT test data 404 obtained for the modified test script 402. This threshold can be preset by the tester or modified by the tester as needed.

[0097] Figure 7 This is a flowchart of a PDI processing and structural coverage analysis method 700 according to an embodiment of the present invention.

[0098] At step 702, executable code for the software can be generated based on the received software requirement information, and PDI configuration data can be generated based on the received PDI requirement information.

[0099] At step 704, a PDI configuration model can be provided, which defines the format of PDI configuration data, and a PDI test model based on the PDI configuration model can be provided, which defines the format of PDI test data.

[0100] At step 706, requirement-based testing (RBT) can be performed on the executable code based on the software requirement information and PDI requirement information, and on the received test script for the executable code, to obtain RBT test data.

[0101] At step 708, PDI test data can be recorded based on the PDI configuration model and PDI test model, and on the PDI configuration data and RBT test data.

[0102] In one embodiment, step 708 may include: First, loading PDI configuration data, parsing the PDI configuration data according to the PDI configuration model, and verifying whether the PDI configuration data conforms to the PDI configuration model. Then, performing data operations on the PDI configuration data based on RBT test data to obtain PDI operation results. Next, recording the PDI operation results according to the PDI test model to obtain PDI test data.

[0103] In step 710, structural coverage analysis can be performed based on PDI configuration data, PDI test data, and structural coverage type requirements to obtain PDI structural coverage results.

[0104] In one embodiment, when the PDI structure coverage value in the PDI structure coverage result is less than a threshold, method 700 may further include: re-recording PDI test data based on RBT test data obtained for the modified test script.

[0105] It should be understood that Figure 7 The order of the steps shown is just an example; the order of the steps above can be changed as needed.

[0106] Figure 8 This is a flowchart of a PDI (Plan-Do-In) structural coverage analysis method 800 according to an embodiment of the present invention. After acquiring PDI test data, method 800 can perform structural coverage analysis based on PDI configuration data, PDI test data, and structural coverage type requirements to obtain PDI structural coverage results.

[0107] At step 802, a structural coverage type requirement can be received.

[0108] At step 804, PDI configuration data can be read according to the PDI configuration model.

[0109] In one embodiment, at step 804, a decision in the PDI configuration data can be further identified.

[0110] At step 806, PDI test data can be read according to the PDI test model.

[0111] In one embodiment, at step 806, for each decision in the PDI configuration data, the conditions and values ​​of the corresponding decision can be extracted from the PDI test data.

[0112] At step 808, PDI structural coverage results can be generated according to the structural coverage type requirements.

[0113] In one embodiment, at step 808, the coverage calculation formula corresponding to the structure coverage type requirement can be further used to calculate the decisional structure coverage in the PDI configuration data.

[0114] In one embodiment, at step 808, a PDI structural coverage report can be further generated based on the PDI structural coverage report model. The PDI structural coverage report model can define the format of the PDI structural coverage analysis report.

[0115] It should be understood that Figure 8 The order of the steps shown is just an example; the order of the steps above can be changed as needed.

[0116] This application provides a framework for PDI structural coverage analysis by using a configuration model, a test model, a report model, a PDI processing module, and a PDI structural coverage analysis module. By combining the configuration model, test model, and report model, it identifies and parses the decision statements contained in the PDI configuration data and provides PDI structural coverage analysis results. Therefore, when airborne software adopts an application-plus-PDI development approach, this application provides design guidance for PDI structural coverage testing and analysis, and meets the DO-178C standard's targets for PDI-related structural coverage. Furthermore, this application can provide relevant data for PDI coverage analysis, guiding test engineers to modify test scripts to meet coverage target requirements, thereby reducing the time and cost for test engineers in PDI verification.

[0117] Throughout this specification, the reference to "an embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with that embodiment is included in at least one embodiment of the invention. Therefore, the phrases "in one embodiment" or "in an embodiment" appearing in various places throughout this specification do not necessarily all refer to the same embodiment, but may refer to the same embodiment. Furthermore, in one or more embodiments, as will be apparent to those skilled in the art from this disclosure, particular features, structures, or characteristics may be combined in any suitable manner.

[0118] Similarly, it should be understood that in the description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, drawing, or description for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, this method of disclosure should not be construed as reflecting an intention to claim more features than are expressly recited in each claim. Rather, as reflected in the appended claims, the inventive aspect lies in fewer features than all the features of a single foregoing disclosed embodiment. Therefore, the appended claims are thus explicitly incorporated into this specific embodiment, wherein each claim itself represents a separate embodiment of the invention.

[0119] Furthermore, although some embodiments described herein include some features included in other embodiments but not others, combinations of features from different embodiments are intended to fall within the scope of the invention and form different embodiments as will be understood by those skilled in the art. For example, any embodiment of the claimed embodiments in the appended claims may be used in any combination.

[0120] Certain portions of the embodiments may be provided as a computer program product, which may include a computer-readable medium on which computer program instructions are stored, which can be used to program a computer (or other electronic device) to be executed by one or more processors to perform processes according to certain embodiments. The computer-readable medium may include, but is not limited to, a magnetic disk, an optical disk, a read-only memory (ROM), a random access memory (RAM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic card or optical card, flash memory, or other types of computer-readable media suitable for storing electronic instructions. Furthermore, the embodiments may also be downloadable as a computer program product, wherein the program can be transferred from a remote computer to a requesting computer. In some embodiments, a non-transient computer-readable storage medium has data stored thereon representing a sequence of instructions that, when executed by a processor, cause the processor to perform certain operations.

[0121] As used herein, a module refers to any combination of hardware, software, and / or firmware. As an example, a module includes hardware such as a microcontroller associated with a non-transient medium for storing code suitable for execution by that microcontroller. Therefore, in one implementation, a reference to a module refers to hardware specifically configured to recognize and / or execute code to be stored on a non-transient medium. In another implementation, the use of "module" refers to a non-transient medium containing code specifically adapted for execution by a microcontroller to perform a predetermined operation. And, as can be inferred, in yet another implementation, the term "module" may refer to a combination of a microcontroller and a non-transient medium. Typically, the boundaries of modules illustrated as separate can vary and potentially overlap. For example, a first module and a second module may share hardware, software, firmware, or a combination thereof, while potentially retaining some independent hardware, software, or firmware.

[0122] Embodiments of the mechanisms disclosed herein may be implemented in hardware, software, firmware, or a combination of such implementations. Embodiments of the invention may be implemented as a computer program or program code executable on a programmable system, the programmable system including at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device.

[0123] It will be apparent to those skilled in the art that various modifications and variations can be made to the exemplary embodiments described above without departing from the spirit and scope of the invention. Therefore, it is intended that this invention cover modifications and variations falling within the scope of the appended claims and their equivalents.

Claims

1. A system for analyzing the structural coverage of parametric data item PDI, comprising: The software development module is used to generate executable code for the software based on the received software requirements information, and to generate PDI configuration data based on the received PDI requirements information. The model providing module is used to provide a PDI configuration model, which defines the format of PDI configuration data, and to provide a PDI test model based on the PDI configuration model, which defines the format of PDI test data. A software testing module is used to perform requirement-based testing (RBT) on the executable code based on the software requirement information and the PDI requirement information, and based on the received test script for the executable code, to obtain RBT test data. The software includes a PDI processing module, which is used to record PDI test data based on the PDI configuration model and the PDI test model, and based on the PDI configuration data and the RBT test data. as well as The PDI structure coverage analysis module is used to perform structure coverage analysis based on the PDI configuration data, the PDI test data, and the structure coverage type requirements to obtain the PDI structure coverage result.

2. The system as claimed in claim 1, wherein, The PDI processing module includes: The PDI reading module is used to load the PDI configuration data, parse the PDI configuration data according to the PDI configuration model, and verify whether the PDI configuration data conforms to the PDI configuration model. The PDI calculation module is used to perform data operations on the PDI configuration data based on the RBT test data to obtain the PDI calculation result; and The PDI recording module is used to record the PDI calculation results according to the PDI test model to obtain PDI test data.

3. The system as described in claim 1, wherein, The PDI structure coverage analysis module is further used for: Receive the structure coverage type requirement; Read the PDI configuration data according to the PDI configuration model; Read the PDI test data according to the PDI test model; as well as The PDI structural coverage result is generated according to the structural coverage type requirement.

4. The system as described in claim 3, wherein, The PDI structure coverage analysis module is further used for: Identify the decision formula in the PDI configuration data; For each decision in the PDI configuration data, extract the corresponding decision condition and value from the PDI test data; as well as The structural coverage in the PDI configuration data is calculated using the coverage calculation formula corresponding to the structural coverage type requirement.

5. The system as described in claim 3, wherein, The PDI structure coverage analysis module is further used for: A PDI structural coverage analysis report is generated based on the PDI structural coverage report model, which is provided by the model providing module and is used to define the format of the PDI structural coverage analysis report.

6. The system of claim 1, wherein, When the PDI structure coverage value in the PDI structure coverage result is less than the threshold, the PDI processing module is further configured to: Based on the RBT test data obtained for the modified test script, the PDI test data was re-recorded.

7. A method for PDI structure coverage analysis of parametric data items, comprising: The software executable code is generated based on the received software requirement information, and the PDI configuration data is generated based on the received PDI requirement information. A PDI configuration model is provided, which defines the format of PDI configuration data, and a PDI test model based on the PDI configuration model is provided, which defines the format of PDI test data. Based on the software requirements information and the PDI requirements information, and based on the received test script for the executable code, requirements-based testing (RBT) is performed on the executable code to obtain RBT test data; PDI test data is recorded based on the PDI configuration model and the PDI test model, and on the PDI configuration data and the RBT test data. as well as Structural coverage analysis is performed based on the PDI configuration data, the PDI test data, and the structural coverage type requirements to obtain the PDI structural coverage result.

8. The method of claim 7, wherein, Based on the PDI configuration model and the PDI test model, and based on the PDI configuration data and the RBT test data, PDI test data is recorded, including: Load the PDI configuration data, parse the PDI configuration data according to the PDI configuration model, and verify whether the PDI configuration data conforms to the PDI configuration model; Based on the RBT test data, data operations are performed on the PDI configuration data to obtain the PDI calculation results; and The PDI test data is obtained by recording the PDI calculation results according to the PDI test model.

9. The method of claim 7, wherein, Based on the PDI configuration data, the PDI test data, and the structural coverage type requirements, structural coverage analysis is performed to obtain the PDI structural coverage results, including: Receive the structure coverage type requirement; Read the PDI configuration data according to the PDI configuration model; Read the PDI test data according to the PDI test model; and The PDI structural coverage result is generated according to the structural coverage type requirement.

10. The method of claim 9, wherein, The structural coverage analysis performed based on the PDI configuration data, the PDI test data, and the structural coverage type requirements to obtain the PDI structural coverage result further includes: Identify the decision formula in the PDI configuration data; For each decision in the PDI configuration data, extract the corresponding decision condition and value from the PDI test data; and The structural coverage in the PDI configuration data is calculated using the coverage calculation formula corresponding to the structural coverage type requirement.

11. The method of claim 9, wherein, Generating the PDI structural coverage result according to the structural coverage type requirement further includes: A PDI structural coverage analysis report is generated based on the PDI structural coverage report model, wherein the PDI structural coverage report model is used to define the format of the PDI structural coverage analysis report.

12. The method of claim 7, wherein, When the PDI structure coverage value in the PDI structure coverage result is less than a threshold, the method further includes: Based on the RBT test data obtained for the modified test script, the PDI test data was re-recorded.

13. A computer-readable storage medium comprising code that, when executed, causes a computer to perform the method as described in any one of claims 7-12.