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:
According to some embodiments, an Arbitrary Software Logic Modeling (“ASLM”) data source may store electronic records associated with units, each electronic record including a unit identifier, one or more identification tags, context data, unit parameters, unit variables, and internal logic. An ASLM platform may express system requirements at a logic block level and establish the logic blocks as self-contained entities and connections in accordance with the system requirements (the established logic blocks graphically representing systems logic). The ASLM platform may then explicitly transform the systems logic automatically to output language agnostic common design information exchange model information. The ASLM platform may also translate and maintain traceability among the system requirements, common design information exchange model information, and generated code.
Abstract:
According to some embodiments, a system includes a communication device operative to communicate with a user to obtain the one or more requirements associated with a specification model for a semantic module; a semantic module to receive the one or more requirements, store the one or more requirements and transform the one or more requirements into a semantic model; a specification module to receive the semantic model, store the semantic model, translate the semantic model and generate a specification model; a memory for storing program instructions; at least one specification model platform processor, coupled to the memory, and in communication with the specification module and the semantic module and operative to execute program instructions to: transform the one or more requirements into a semantic model by executing the semantic module; translate the semantic model into a graphical model by executing the specification module; and modify the graphical model by executing the specification module to generate the specification model; and generate a specification model that is human-readable and computer-readable for use in software design. Numerous other aspects are provided.
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 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:
According to some embodiments, a system includes a communication device operative to communicate with a user to obtain the one or more requirements associated with a specification model for a semantic module; a semantic module to receive the one or more requirements, store the one or more requirements and transform the one or more requirements into a semantic model; a specification module to receive the semantic model, store the semantic model, translate the semantic model and generate a specification model; a memory for storing program instructions; at least one specification model platform processor, coupled to the memory, and in communication with the specification module and the semantic module and operative to execute program instructions to: transform the one or more requirements into a semantic model by executing the semantic module; translate the semantic model into a graphical model by executing the specification module; and modify the graphical model by executing the specification module to generate the specification model; and generate a specification model that is human-readable and computer-readable for use in software design. Numerous other aspects are provided.