Abstract:
A method for model-based design of safety-critical software is disclosed. The method includes receiving natural-language software requirements, developing a specification model by implementing either semantic modeling or graphical modeling, applying formal requirements analysis to the specification model, auto generating requirements based and robustness test cases from the specification model, developing a design model based on the specification model, applying test cases to the design model, auto-generating source code using the design model, verifying the source code using both test cases and static analysis technology, and compiling executable object code from the verified source code. If a result of the analysis of the software specification or design models is not satisfactory then adjusting the specification or design model to correct any inconsistency, and repeating applying the analysis and test cases. A system for implementing the model-based design and a non-transitory computer readable medium are disclosed.
Abstract:
A method for model-based design of safety-critical software is disclosed. The method includes receiving natural-language software requirements, developing a specification model by implementing either semantic modeling or graphical modeling, applying formal requirements analysis to the specification model, auto generating requirements based and robustness test cases from the specification model, developing a design model based on the specification model, applying test cases to the design model, auto-generating source code using the design model, verifying the source code using both test cases and static analysis technology, and compiling executable object code from the verified source code. If a result of the analysis of the software specification or design models is not satisfactory then adjusting the specification or design model to correct any inconsistency, and repeating applying the analysis and test cases. A system for implementing the model-based design and a non-transitory computer readable medium are disclosed.
Abstract:
A computer-implemented system for generating test cases and/or test procedures to verify software having a nonlinear arithmetic constraint over a Real number range. The system includes a translator that receives, as input, software specification models for the software to be verified. The translator is configured to generate, as output, a plurality of SMT formulas that are semantically equivalent to the software specification models. The system includes an analytical engine pool that receives, as input, the plurality of SMT formulas from the translator and analyzes the plurality of SMT formulas, and generates, as output, test case data for each of the plurality of SMT formulas determined to be satisfiable. The system includes a post-processor that receives, as input, the test case data from the analytical engine pool and generates, as output, the test cases and/or test procedures for the software to be verified based on the test case data.
Abstract:
A method for automated test case augmentation includes receiving, at an automated test augmentation system, a design model and model coverage gap information from a model-based development tool, translating the model coverage gap information into machine-readable mathematical test objective expressions, developing a set of test objective operators by translating the machine-readable mathematical test objective expressions, localizing target operators for the identified coverage gaps within the design model, attaching the test objective operators to target operators of the design model to create a test model, augmenting the test model by propagating test objectives at the target operators to a test node operator of the design model, and executing, by a test generator, the augmented test model to obtain the test cases to cover the coverage gaps and the causes for the model coverage gaps. A system for implementing the model-based design and a non-transitory computer readable medium are also disclosed.
Abstract:
A computer-implemented system for generating test cases and/or test procedures to verify software having a nonlinear arithmetic constraint over a Real number range. The system includes a translator that receives, as input, software specification models for the software to be verified. The translator is configured to generate, as output, a plurality of SMT formulas that are semantically equivalent to the software specification models. The system includes an analytical engine pool that receives, as input, the plurality of SMT formulas from the translator and analyzes the plurality of SMT formulas, and generates, as output, test case data for each of the plurality of SMT formulas determined to be satisfiable. The system includes a post-processor that receives, as input, the test case data from the analytical engine pool and generates, as output, the test cases and/or test procedures for the software to be verified based on the test case data.
Abstract:
A method and system, the method including receiving a set of requirements for a software application, the set of requirements comprising a plurality of software requirements identified for the software application; analyzing the set of requirements to determine dependencies between the plurality of software requirements in the set of requirements; generating a visualization of the determined dependencies and test boundaries between the plurality of software requirements in the set of requirements; storing the generated visualization of the determined dependencies and test boundaries between the plurality of software requirements in the set of requirements in a record; and applying the determined dependencies in the record to at least one of (i) optimize test steps in a test procedure and (ii) generate an executable test procedure that exercises external inputs and outputs for the software application.
Abstract:
According to some embodiments, system comprises a communication device operative to communicate with a user to obtain one or more requirements associated with a model for a test case generation module; a translation computer module to receive the model, store the model and generate an intermediate model; a generator computer module to receive the intermediate model, store the intermediate model, generate at least one test case; a memory for storing program instructions; at least one test case generation platform processor, coupled to the memory, and in communication with the translation computer module and the generator computer module, operative to execute program instructions to: transform the model into an intermediate model by executing the translation computer module; identify a model type associated with the intermediate model based on an analysis of the intermediate model by executing the generator computer module; select a test generation method based on analysis of the identified model type by executing the generator computer module; generate at least one test case for use in software validation and verification. Numerous other aspects are provided.
Abstract:
Automated requirements-based test case generation method includes constructing in a model-based development tool a software architecture model automatically derived from architectural information of a software design model, allocating requirement models into blocks/operators of the software architecture model, and generating component level requirements-based test cases from the software architecture. The component level requirements-based test case generation method includes receiving a software architecture along with allocated requirement models represented in hierarchical data flow diagram, selecting one of the software components, building an intermediate test model based on the selected component by automatically attaching at least one of test objectives or constraints to the corresponding software architecture model blocks/operators based on the selected test strategy, and generating human and machine readable test cases with the test generator for further automatic conversion to test executable and test review artifacts. A system and a non-transitory computer-readable medium for implementing the method are also disclosed.
Abstract:
A system for equivalence class analysis-based automated requirements-based test case generation includes a control processor, a data store containing textual design requirements, a textual converter unit structured to convert the textual design requirements to a machine-readable version of design requirements, a requirement partition unit configured to partition the machine-readable design requirements into one or more sets of related design requirements, an equivalence class partition unit configured to process the machine-readable design requirements and input/output variables into a set of equivalence classes, an equivalence class analyzer unit structured to analyze the set of equivalence classes to generate equivalence class tests and identify uncovered input space, and a boundary class analyzer unit structured to identify boundaries of the equivalence classes and generate boundary value tests and robustness tests. A method for equivalence class analysis-based automated requirements-based test case generation implementable on the system, and a non-transitory computer readable medium are also disclosed.
Abstract:
A system for equivalence class analysis-based automated requirements-based test case generation includes a control processor, a data store containing textual design requirements, a textual converter unit structured to convert the textual design requirements to a machine-readable version of design requirements, a requirement partition unit configured to partition the machine-readable design requirements into one or more sets of related design requirements, an equivalence class partition unit configured to process the machine-readable design requirements and input/output variables into a set of equivalence classes, an equivalence class analyzer unit structured to analyze the set of equivalence classes to generate equivalence class tests and identify uncovered input space, and a boundary class analyzer unit structured to identify boundaries of the equivalence classes and generate boundary value tests and robustness tests. A method for equivalence class analysis-based automated requirements-based test case generation implementable on the system, and a non-transitory computer readable medium are also disclosed.