DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 10-16 have been submitted for examination and are pending further prosecution by the United States Patent & Trademark Office.
Allowable Subject Matter
With respect to independent claim 1, the prior art of record does not teach or suggest, either solely or in combination, the limitations "generating, by the processing unit, a plurality of test case constraints for the engineering program by application of a machine learning algorithm on the generated plurality of tripartite graphs, wherein each test case constraint of the generated plurality of test case constraints defines limits on the set of values provided in the plurality of test cases, the machine learning algorithm uses a graph convolution neural network which is configured to generalize each constraints of [[the]] constraint satisfaction problems of the generated plurality of tripartite graphs into the generated plurality of test case constraints, wherein the generated plurality of test case constraints are common solutions to a plurality of constraint satisfaction problems of the generated plurality of tripartite graphs, and the plurality of test cases are generated such that the generated plurality of test cases are limited by the generated plurality of test case constraints; generating, by the processing unit, a plurality of test cases for the engineering program based on the generated plurality of test case constraints;" when considered in combination with the other limitations of claim 1.
Claim Objections
The following claims are objected to because of informalities and antecedence issues. It is suggested Applicants amend these claims as follows:
10. (New) A method of generating and optimizing test cases for an engineering program based on a constraint satisfaction problem, the method comprising:
receiving, by a processing unit, a request to generate a plurality of test cases for the [[an]] engineering program which comprises a plurality of code statements, wherein a test case comprises a set of values assigned to one or more variables and arguments used in the engineering program;
generating, by the processing unit, a plurality of tripartite graphs for the engineering program, wherein,
each of the generated plurality of tripartite graphs represents a constraint satisfaction problem associated with a specific code statement of the plurality of code statements, each of the generated plurality of tripartite graphs comprises a set of input variables, a set of constraints and a set of domain values associated with the specific code statement of the plurality of code statements, and
a first edge of each of the generated plurality of tripartite graphs represents a presence of a set of input variables in a given set of constraints and information about a plurality of values from the given set of constraints which can be assigned to the set of input variables of the engineering program;[[;]]
generating, by the processing unit, a plurality of test case constraints for the engineering program by application of a machine learning algorithm on the generated plurality of tripartite graphs, wherein each test case constraint of the generated plurality of test case constraints defines limits on the set of values provided in the plurality of test cases, the machine learning algorithm uses a graph convolution neural network which is configured to generalize constraints of [[the]] constraint satisfaction problems of the generated plurality of tripartite graphs into the generated plurality of test case constraints, wherein the generated plurality of test case constraints are common solutions to a plurality of constraint satisfaction problems of the generated plurality of tripartite graphs, and the plurality of test cases are generated such that the plurality of test cases are limited by the generated plurality of test case constraints;
generating, by the processing unit, a plurality of test cases for the engineering program based on the generated plurality of test case constraints; and
optimizing, by the processing unit, the generated plurality of test cases based on an analysis of the engineering program by generating, by the processing unit, a knowledge graph for the engineering program by analysis of the plurality of code statements, wherein the generated knowledge graph comprises:
a) information about relationships between the plurality of code statements, and
b) information about data flow and control flow between each of the plurality of code statements;
determining, by the processing unit, a plurality of control flow paths of the engineering program at a plurality of scenarios based on an analysis of the generated knowledge graph;
determining, by the processing unit, a test path coverage for each of the generated plurality of test cases based on analysis of the determined plurality of control paths and the generated knowledge graph; and
optimizing, by the processing unit, each of the generated plurality of test cases based on an analysis of the determined test path coverage of each of the generated plurality of test cases.[[.]]
12. (New) The method according to claim 11, wherein determining the test path coverage for each of the generated plurality of test cases further comprises:
generating, by the processing unit, a stack comprising the generated key-value pair mapping associated with each test case of the generated plurality of test cases;
determining, by the processing unit, a test path taken by each test case of the generated plurality of test cases based on the analysis of the generated knowledge graph; and
determining, by the processing unit, the test path coverage for each of the generated plurality of test cases based on an analysis of the test path determined for each test case of the generated plurality of test cases.
13. (New) The method according to claim 12, wherein the test path taken by each test case of the plurality of test cases is determined based on a querying of the generated knowledge graph by the processing unit.
14. (New) An engineering system for generation of test cases, wherein the engineering system comprises:
one or more processing units; and
a memory coupled to the one or more processing units, wherein the memory comprises an automation module stored in the form of machine-readable instructions executable by the one or more processor(s), wherein the automation module is capable of performing the [[a]] method according to claim 10.
Claims 11-16 are additionally objected to due to their dependence on objected parent claim(s).
Appropriate correction is required.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claim 16 is rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter.
Claim 16 recites "A computer program product, comprising a computer readable hardware storage device having computer readable program code stored therein,". Under a broadest reasonable interpretation, in light of paragraph [0094] of Applicant's specification, such a computer readable hardware storage device can encompass transitory signals, which are non-statutory. See MPEP 2106. It is suggested that Applicants amend the claim to recite the limitations are only embodied on a non-transitory computer readable hardware storage device.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. US 20060010428 A1 discloses a method of using model checkers to generate efficient test sets for hardware and software systems. US 20060184468 A1 discloses methods and systems enabling automatic test program generation using conditional constraint satisfaction techniques. WO 2022251741 A1 discloses methods, systems, and apparatus for generating learned representations of digital circuit designs whereby, in one embodiment, a neural network can be configured to generate constraints for test inputs that are predicted to cover particular desired coverage points. US 20230059703 A1 discloses a method for generating test cases satisfying test coverage conditions using a neural network based upon input constraints. The NPL document "Less is More: A Minimalistic Approach to UML Model-Based Conformance Test Generation" presents a minimalist approach to model-based test generation comprising computation of a tripartite graph during invariant analysis.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to GEOFFREY R ST LEGER whose telephone number is (571)270-7720. The examiner can normally be reached M-F (IFP) ~9:00-5:00 pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Hyung S Sough can be reached at 571-272-6799. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/GEOFFREY R ST LEGER/Primary Examiner, Art Unit 2192