GENERATING AND UTILIZING FINITE INPUT OUTPUT MODELS, COMPARISON OF SEMANTIC MODELS AND SOFTWARE QUALITY ASSURANCE
First Claim
Patent Images
1. A method for generating a finite input/output semantic model comprising:
- receiving a source program;
parsing the source program into an abstract data structure;
generating a set of code paths based on the abstract data structure;
converting the set of code paths into a set of logically consistent data element models;
utilizing the set of logically consistent data element models to format the finite input/output semantic model including;
identifying a set of input data elements in the source program,identifying a set of output data elements in the source program, andfor each set of data elements, creating an input-output pattern expression;
producing a valid data expression for each set of input data elements; and
producing a valid data expression for each set of output data elements.
3 Assignments
0 Petitions
Accused Products
Abstract
Aspects of the invention relate generally to software, and more specifically to one or more specifically to software development, FIOSM creation, comparison and subsumption in a software environment and software quality assurance. An exemplary embodiment includes the processes of: (i) designing and verifying that a computer language can completely and correctly generate a Finite Input-Output Semantic Model (FIOSM); and (ii) generating, typically using automation, a FIOSM for a program or system of several programs written in a FIOSM-compatible language.
-
Citations
46 Claims
-
1. A method for generating a finite input/output semantic model comprising:
-
receiving a source program; parsing the source program into an abstract data structure; generating a set of code paths based on the abstract data structure; converting the set of code paths into a set of logically consistent data element models; utilizing the set of logically consistent data element models to format the finite input/output semantic model including; identifying a set of input data elements in the source program, identifying a set of output data elements in the source program, and for each set of data elements, creating an input-output pattern expression; producing a valid data expression for each set of input data elements; and producing a valid data expression for each set of output data elements. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of creating a computer language wherein a set of all programs created in the language have a decidable and complete data flow comprising:
-
designing the language including defining operators and defining data types; and verifying the decidable and complete data flow. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A method for quality control of software comprising:
-
generating a parse tree; generating a code path set based on the parse tree; generating a path data model set using the code path set; and generating a finite input/output semantic model (FIOSM) from the path data model set. - View Dependent Claims (28, 29, 30)
-
-
31. One or more of a program, routine, language, sub-routine, procedure, software enterprise system, module and portion of code having a completely decidable data flow.
- 32. A method of software quality assurance comprising analyzing one or more finite input output semantic models of computer code.
-
41. A method of software quality assurance comprising analyzing one or more finite input output semantic models of a program in cooperation with a policy validation user interface.
-
42. A software development tool comprising:
-
a semantic model generator; a model comparator; and a quality assurance monitor, wherein the semantic model generator determines if a program has a completely decidable data flow.
-
-
43. A software development tool comprising:
a semantic model generator, the semantic model generator verifying a complete a decidable data flow in a program. - View Dependent Claims (44, 45)
-
46. A method for generating a finite input/output semantic model comprising:
-
receiving a set of source code, the set of source code comprising at least one of a program, a procedure, a routine, a module, and a software enterprise system; parsing the source code into an abstract data structure; generating a set of code paths based on the abstract data structure; converting the set of code paths into a set of logically consistent data element models; utilizing the set of logically consistent data element models to format the finite input/output semantic model including; identifying a set of input data elements in the source code, identifying a set of output data elements in the source code, and for each set of data elements, creating an input-output pattern expression; producing a valid data expression for each set of input data elements; and producing a valid data expression for each set of output data elements.
-
Specification