Prosecution Insights
Last updated: August 17, 2026
Application No. 18/807,173

AUTOMATED CODE GENERATION FOR DATA TRANSFORMATIONS IN A WORKFLOW

Non-Final OA §101§103§112§DOUBLEPATENT
Filed
Aug 16, 2024
Priority
Apr 14, 2022 — provisional 63/330,859 +1 more
Examiner
RIVERA, ANIBAL
Art Unit
Tech Center
Assignee
Microsoft Technology Licensing, LLC
OA Round
1 (Non-Final)
91%
Grant Probability
Favorable
1-2
OA Rounds
3m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 91% — above average
91%
Career Allowance Rate
689 granted / 758 resolved
+30.9% vs TC avg
Moderate +12% lift
Without
With
+12.0%
Interview Lift
resolved cases with interview
Typical timeline
2y 3m
Avg Prosecution
36 currently pending
Career history
785
Total Applications
across all art units

Statute-Specific Performance

§101
14.7%
-25.3% vs TC avg
§103
44.3%
+4.3% vs TC avg
§102
26.0%
-14.0% vs TC avg
§112
7.7%
-32.3% vs TC avg
Black line = Tech Center average estimate • Based on career data from 758 resolved cases

Office Action

§101 §103 §112 §DOUBLEPATENT
DETAILED ACTION This action is responsive to the application filed on August 16, 2024, which is continuation of 17/844,432 filed on June 20, 2022, now US Pat. No. 12,118,488. Claims 1-20 are pending and presented to examination. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. Examiner Notes Examiner cites particular columns, paragraphs, figures and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner. Drawings The drawings filed on August 16, 2024 are acceptable for examination purposes. Specification The disclosure is objected to because of the following informalities: CROSS-REFERENCE TO RELATED APPLICATION(S) section discloses a parent case 17/844,432, now patented. The patent number must be disclosed on record. Appropriate correction is required. Claim Objections Claims 1-20 are objected to because of the following informalities: Claim 1 (and similar for claims 8 and 15) recites the limitation “generating the code based on the determined logical pattern;” in line 11. Please add the term “the” as indicated in bold. Claim 2 (and similar for claims 9 and 16) recites “wherein the received input data includes string data not included in preprogramed common substring expression tokens, and wherein said determining possible logic patterns comprises:” in lines 1-3. Replace “preprogramed” to –preprogrammed--. Appropriate correction is required. Claim 7 recites “wherein said generating code based on the determined logical pattern comprises:” in lines 1-2. Please add the term “the” as indicated in bold. Dependent claims 3-6, 10-14 and 17-20 do not overcome the deficiency of the base claim and, therefore, are objected for the same reasons as the base claim. Double Patenting The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13. The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer. Claims 1-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-20 of U.S. Patent No. 12,118,488 in view of Gulwani and further in view of Gulwani2. The claims of U.S. Patent No. 12,118,488 recite automatically generating code that re-formats input data, received in a data entry element of a workflow, from a first format into a second format of example data, including identifying one or more logical patterns common to the example data and generating the code based on the identified patterns, and applying the generated code (see, e.g., claims 1-2, 8-9, and 15-16). The patented claims differ from the instant claims only in that the instant claims recite performing that pattern identification and code generation by determining the possible logic patterns, generating an intersected graph that includes the logical patterns common to the input data, and ranking those common logical patterns to determine the pattern likely to generate the desired output. As set forth in the 35 U.S.C. 103 rejection, Gulwani teaches generating, for each input-output example, a directed acyclic graph of candidate subprograms and intersecting those graphs to identify the subprograms common to the examples, and Gulwani 2 teaches ranking the resulting consistent expressions to select the program most likely to reflect the user’s intended result. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to perform the pattern identification and code generation recited in the claims of U.S. Patent No. 12,118,488 using the intersected-graph and ranking technique of Gulwani and Gulwani 2, in order to select, from among the programs consistent with the example data, the program most likely to produce the user’s intended output and to converge with fewer examples (Gulwani 2, sections 5-5.3). Dependent claims 2-5, 9-12, and 16-19 add the substring-token, per-instance graph, longest-path, and mapping limitations; those limitations are not recited in the patent's claims but are taught by Gulwani and Gulwani 2 as set forth in the §103 rejection, and it would have been obvious to incorporate them into the patent-claimed method for the reasons given there. Claims 6, 13, and 20 add the substring-expression-bank limitation, taught by Gulwani3. Instant Application (App. No. 18/807,173) U.S. Patent No. 12,118,488 1. A method, comprising: automatically generating code that re-formats input data, having a first format, that is received in a first data entry element of a workflow into a second format of example data, said automatically generating code including: receiving the input data and the example data; determining possible logic patterns present in the input data; generating an intersected graph based that includes common logical patterns of the possible logic patterns common to the input data; ranking the common logical patterns of the intersected graph based on the example data to determine a logical pattern likely to generate a desired output; generating the code based on determined logical pattern; and applying the generated code to reformat the input data to the second format. 8. A computer-implemented method for developing and executing a workflow, comprising: receiving, via a first data entry element of a first workflow step of a workflow displayed via a workflow designer graphical user interface (GUI) for a workflow designer application, input data that is in accordance with a first format utilized by a second workflow step that is previous to the first workflow step; receiving, via a second data entry element of the first workflow step, example data that is in accordance with a second format that is different than the first format; automatically generating code that re-formats the input data into the second format; and applying the generated code to the first workflow step, said applying causing, during execution of the workflow, data that is received from the second workflow step to be automatically re-formatted in accordance with the second format. 9. The computer-implemented method of claim 8, wherein automatically generating code that re-formats the input data into the second format comprises: identifying one or more logical patterns that are common to the example data; and automatically generating the code based on the identified one or more logical patterns. Claim 7 Claim 9 Claim 8 Claims 1 and 2 Claim 14 Claim 2 Claim 15 Claims 15 and 16 Claim Rejections - 35 USC § 112 The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claims 1-20 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. Claim 1 (and similar for claims 8 and 15) recites the limitation “generating an intersected graph based that includes common logical patterns of the possible logic patterns common to the input data;” in lines 7-8. The scope in this limitation is unclear, is the graph “based on” the possible logic patterns, the example data, something else – or was “based” simply meant to be deleted so it reads “a graph that includes common logical patterns”? Dependent claims 2-7, 9-14 and 16-20 do not overcome the deficiency of the base claim and, therefore, are rejected for the same reasons as the base claim. 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. Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention recites a judicial exception, is directed to that judicial exception, an abstract idea, as it has not been integrated into practical application and the claims further do not recite significantly more than the judicial exception. Examiner has evaluated the claims under the framework provided in the 2019 Patent Eligibility Guidance published in the Federal Register 01/07/2019 and has provided such analysis below. Step 1: Claims 1-7 are directed to methods and fall within the statutory category of processes; Claims 8-14 are directed to systems and fall within the statutory category of machines; and Claims 15-20 are directed to mediums and fall within the statutory category of manufacturer. Therefore, “Are the claims to a process, machine, manufacture or composition of matter?” Yes. In order to evaluate the Step 2A inquiry “Is the claim directed to a law of nature, a natural phenomenon or an abstract idea?” we must determine, at Step 2A Prong 1, whether the claim recites a law of nature, a natural phenomenon or an abstract idea and further whether the claim recites additional elements that integrate the judicial exception into a practical application. Step 2A Prong 1: Claims 1, 8 and 15 as drafted, recite a process that, under its broadest reasonable interpretation, covers steps that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components. That is, the limitations: Claim 1 (and similar for claims 8 and 15) a) “determining possible logic patterns present in the input data;” – Mental Process, See MPEP 2106.04(a)(2), III. For example, a person examining the input data can identify candidate logical patterns or rules in the mind or with pen and paper. b) “generating an intersected graph based that includes common logical patterns of the possible logic patterns common to the input data;” – Mental Process, See MPEP 2106.04(a)(2), III. For example, identifying which patterns are common across the instances of input data is an evaluation a person could perform mentally or with pen and paper. c) “ranking the common logical patterns of the intersected graph based on the example data to determine a logical pattern likely to generate a desired output;” – Mental Process, See MPEP 2106.04(a)(2), III. For example, ranking, comparing, and selecting among the patterns to judge which is most likely to produce the desired output is an evaluation/judgment. That is, nothing in the claim elements precludes the step from practically being performed in the mind or with a pen and paper, (i.e., “determining”, “generating”, “ranking”) can be performed in the human mind though observation, evaluation, judgment, opinion with the aid of pen and paper. Thus, these limitations fall within the “Mental Processes” grouping of abstract ideas. Therefore, Yes, claims 1, 8 and 15 recite judicial exceptions. The claims have been identified to recite judicial exceptions, Step 2A Prong 2 will evaluate whether the claims are directed to the judicial exception. Step 2A Prong 2: This judicial exception is not integrated into a practical application. The claims recite the following additional elements: “a system”, “a processor”, “a memory” and “a computer-readable storage medium”. The additional elements are merely instructions to implement an abstract idea on a computer, or merely using a generic computer or computer components as a tool to perform the abstract idea (see MPEP 2106.05(f)). There is an additional element in the claim. Additional element 1 - “automatically generating code that re-formats input data, having a first format… into a second format of example data, said automatically generating code including:” - recites performing the exception by a generic computer (“automatically generating code”); this is mere instructions to apply the exception on a computer (MPEP 2106.05(f)). The recited re-formatting “into a second format” states the intended purpose/result of the exception. Additional element 2 - “that is received in a first data entry element of a workflow” - limits the abstract idea to a particular technological environment (a workflow application); this generally links the exception to a field of use / technological environment (MPEP 2106.05(h)). Additional element 3 - “receiving the input data and the example data” - mere gathering of the data on which the exception operates; insignificant extra-solution (pre-solution) activity (MPEP 2106.05(g)). Additional element 4 - “generating the code based on determined logical pattern” - expresses the determined (abstract) logical pattern as generic computer code; mere instructions to apply the exception using a computer (MPEP 2106.05(f)). (This limitation could alternatively be viewed as part of the abstract idea, i.e., the mental synthesis of the transformation; under either characterization it does not integrate the exception). Additional element 5 - “applying the generated code to reformat the input data to the second format” - uses the result of the exception to transform the data; insignificant extra-solution (post-solution) activity (MPEP 2106.05(g)). Accordingly, the additional elements recited in the claims do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea, thus failing to integrate the abstract idea into a practical application. Therefore, “Do the claims recite additional elements that integrate the judicial exception into a practical application? No, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. After having evaluating the inquires set forth in Steps 2A Prong 1 and 2, it has been concluded that claims 1, 8 and 15 not only recites a judicial exception but that the claim is directed to the judicial exception as the judicial exception has not been integrated into practical application. Step 2B: As discussed above with respect to integration of the abstract idea into a practical application, the additional elements “a system”, “a processor”, “a memory” and “a computer-readable storage medium” are generic computer components used as tools to perform the abstract idea. The additional elements, considered individually and in combination, do not amount to significantly more than the abstract idea. Receiving the input data and example data, and applying the generated code to reformat the data, are well-understood, routine, and conventional computer functions — generic data input and generic code execution to transform data (MPEP 2106.05(d)) — as evidenced by the specification’s description of generic computing hardware (specification [0141]–[0149]) and as reflected in the conventional input-output-example program-synthesis systems of record; these same elements are also insignificant extra-solution activity re-evaluated under MPEP 2106.05(g). “Automatically generating code” and “generating the code based on the determined logical pattern” recite the exception at a high level of generality as mere instructions to apply it using a computer (MPEP 2106.05(f)), which cannot supply an inventive concept. The recitation of a workflow is a field-of-use limitation (MPEP 2106.05(h)) that adds nothing inventive. The ordered combination of these elements adds nothing beyond what is present when the elements are considered separately. Accordingly, the additional elements recited in the claims cannot provide an inventive concept. In addition, after further evaluation the claim as a whole doesn’t improve any function of a computer or to any other technology or technical field. Thus, the claims are not patent eligible. Therefore, “Do the claims recite additional elements that amount to significantly more than the judicial exception? No, these additional elements, alone or in combination, do not amount to significantly more than the judicial exception. Having concluded analysis within the provided framework, Claims 1, 8 and 15 do not recite patent eligible subject matter under 35 U.S.C. § 101. Claim 2 (and similar for claim 9 and 16) recites “determining a substring expression based on a logical pattern across multiple instances of input data” further specify the abstract analysis and recite a mental process; the “preprogramed common substring expression tokens” are data used in the analysis. No additional element integrates the exception or supplies an inventive concept. Claim 3 (and similar for claims 10 and 17) recites “generating multiple individual graphs ... ; intersecting the multiple individual graphs to generate the intersected graph” further specify the mathematical graph-generation and intersection operations and recite a mathematical concept/mental process. No practical application or inventive concept is added. Claim 4 (and similar for claims 11 and 18) recites “selecting a longest path in the intersected graph to determine the logical pattern” further specify the ranking/selection and recite a mental process. No practical application or inventive concept is added. Claim 5 (and similar for claims 12 and 19) recites “mapping the determined possible logic patterns with data strings of the input data and with substring expressions” further specify the abstract analysis (mapping is part of the mental evaluation) and recite a mental process. No practical application or inventive concept is added. Claim 6 (and similar for claims 13 and 20) recites “selecting appropriate substring expressions from a substring expression bank based on said mapping” recite the abstract selection step; to the extent the limitation recites retrieving expressions from a stored bank, that is insignificant extra-solution data-access activity (MPEP 2106.05(g)) and a well-understood, routine, and conventional computer function (MPEP 2106.05(d)). No practical application or inventive concept is added. Claim 7 (and similar for claim 14) recites “selecting, based on said ranking, a logical pattern ... most likely to output a user intended result” further specify the ranking/selection mental process. No practical application or inventive concept is added. Therefore, Claims 1-20 do not recite patent eligible subject matter under 35 U.S.C. § 101. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claims 1-5, 7-12 and 14-19 are rejected under 35 U.S.C. 103 as being unpatentable over Gulwani (US Pub. No. 2011/0302553, hereinafter Gulwani) in view of Sumit Gulwani (“Automating String Processing in Spreadsheets Using Input-Output Examples”, hereinafter Gulwani2) and further in view of Moon et al. (US Pub. No. 2004/0078105, hereinafter Moon). With respect to claim 1, Gulwani teaches method, comprising: automatically generating code that re-formats input data, having a first format, [[that is received in a first data entry element of a workflow]] into a second format of example data, said automatically generating code including: (a program creation system receives input-output examples and automatically generates a program, and the user may invoke the system to convert information expressed in a first format into information expressed in a second format (Gulwani [0006], [0061])). receiving the input data and the example data (the program creation system receives a set of input-output examples, each input-output example providing an input item and a corresponding output item (Gulwani [0006], [0048])). determining possible logic patterns present in the input data (the system generates a plurality of sets of candidate subprograms, one set for each input-output example, each candidate subprogram being configured to transform the input item into the corresponding output item using a different strategy expressed with substring, concatenate, loop, and match constructors (Gulwani [0009], [0011], [0072])). generating an intersected graph based that includes common logical patterns of the possible logic patterns common to the input data (the system generates each set of subprograms as a directed acyclic graph and combines two sets of subprograms only where their intersection produces a non-empty set, thereby identifying the subprograms common to the examples (Gulwani [0010], [0073]).) generating the code based on determined logical pattern (the system generates the created program from the representative subprogram(s) determined for the partitions (Gulwani [0009], [0075])) and applying the generated code to reformat the input data to the second format (the program execution module applies the created program to the input item to transform it into the corresponding output item (Gulwani [0049], [0083], FIG. 6)). Gulwani is silent to disclose, however in an analogous art, Gulwani2 teaches ranking the common logical patterns of the intersected graph based on the example data to determine a logical pattern likely to generate a desired output (the synthesis algorithm learns a set of expressions consistent with the input-output examples and defines a partial order (Occam’s razor) that ranks the multiple consistent solutions, returning an ordered set and selecting the top-ranked program as the one most likely to reflect the user’s intended result (Gulwani2, sections 5.3; 6.1)). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the ranking taught by Gulwani2 into the system of Gulwani. Gulwani2 and Gulwani describe the same input-output-example program-synthesis technique; the motivation to do so would have been to select, from among the multiple programs consistent with the examples, the program most likely to produce the user’s intended output and to converge in fewer interactive rounds, thereby resolving the ambiguity that arises when several programs are consistent with the provided examples (Gulwani2, sections 5–5.3). Gulwani in view of Gulwani2 is silent to disclose, however in an analogous art, Moon teaches that (the input data) is received in a first data entry element of a workflow (a workflow is laid out as a sequence of nodes (steps), and a typical node processing prepares input data for a node and executes the node, the input data and output data being defined in the process model (Moon [0037]–[0040], FIG. 4), the data being specified with a format specification and being subject to data transformations that map a value from a source data set into a target data set, converting one data format into another between steps (Moon [0012], [0032], FIGS. 16A–16B)). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply the example-based generation of data-reformatting code of Gulwani (as modified by Gulwani2) to the input data received at a data entry element of a workflow step as taught by Moon. The motivation to do so would have been to automatically generate, from input-output examples, the code that reformats data passed between workflow steps from one format to another, rather than requiring the workflow user to author such reformatting logic manually, thereby enabling users without a software-development background to perform the data transformation and avoiding the programming errors that manual authoring introduces. With respect to claim 2, Gulwani in view of Moon is silent to disclose, however in an analogous art, Gulwani2 teaches wherein the received input data includes string data not included in preprogramed common substring expression tokens, and wherein said determining possible logic patterns comprises: determining a substring expression based on a logical pattern across multiple instances of input data included in the received input data (the synthesis algorithm learns substring (SubStr) and position expressions directly from the data, and is expressly not limited to a fixed set of predefined tokens, noting that additional tokens may be mined by searching for frequently occurring substrings rather than depending on problem-specific tokens (Gulwani2, p.318, p.319, section 4.2), the substring expression being one that is consistent across the multiple input-output examples by virtue of the intersection of the per-example trace sets (Gulwani2, section 4, Fig. 4)). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the ranking taught by Gulwani2 into the system of Gulwani and Moon. Gulwani2 and Gulwani describe the same input-output-example program-synthesis technique; the motivation to do so would have been to select, from among the multiple programs consistent with the examples, the program most likely to produce the user’s intended output and to converge in fewer interactive rounds, thereby resolving the ambiguity that arises when several programs are consistent with the provided examples (Gulwani2, sections 5–5.3). With respect to claim 3, Gulwani teaches wherein the received input data includes multiple instances of input data, and said generating an intersected graph comprises: generating multiple individual graphs corresponding to the multiple instances of input data by generating a graph of all possible logical patterns for each instance of input data of the multiple instances of input data; intersecting the multiple individual graphs to generate the intersected graph (the system generates a set of candidate subprograms for each input-output example and represents each such set as a directed acyclic graph that succinctly represents the possible subprograms for that instance (Gulwani [0009], [0010]), and then combines (intersects) the per-instance sets to identify the common subprograms (Gulwani [0073])). With respect to claim 4, Gulwani teaches wherein said ranking comprises: selecting a longest path in the intersected graph to determine the logical pattern (Gulwani teaches that a particular subprogram represented by the directed acyclic graph is read off by tracing one of many possible paths through the graph, from a starting node to a target node, where some paths include more component operations and associated edges than others (Gulwani [0135]). While Gulwani is silent to use the precise phrase “longest path,” selecting the longest path among the finite paths through the intersected graph would have been an obvious choice of ranking and selection criterion for determining the logical pattern, producing the predictable result of selecting one of the consistent logical patterns represented by the graph). With respect to claim 5, Gulwani in view of Moon is silent to disclose, however in an analogous art, Gulwani2 teaches further comprising: mapping the determined possible logic patterns with data strings of the input data and with substring expressions that represent the possible logic patterns (in constructing the graph, each edge corresponding to a position pair (a logical pattern over the data string) is mapped to, i.e., annotated with, the set of atomic expressions, including substring (SubStr) expressions, that can generate the corresponding substring of the data (Gulwani2, section 4.3, Fig. 7, procedure GenerateStr, line 5; section 4.2, procedure GeneratePosition)). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the ranking taught by Gulwani2 into the system of Gulwani and Moon. Gulwani2 and Gulwani describe the same input-output-example program-synthesis technique; the motivation to do so would have been to select, from among the multiple programs consistent with the examples, the program most likely to produce the user’s intended output and to converge in fewer interactive rounds, thereby resolving the ambiguity that arises when several programs are consistent with the provided examples (Gulwani2, sections 5–5.3). With respect to claim 7, Gulwani in view of Moon is silent to disclose, however in an analogous art, Gulwani2 teaches wherein said generating the code based on determined logical pattern comprises: selecting, based on said ranking, a logical pattern to generate the code as a logical pattern most likely to output a user intended result (from the ranked set of consistent solutions, the system selects the top-ranked program as the one most likely to reflect the user’s intended result, and uses that program to populate the output (Gulwani2, sections 5.3; 6.1)). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the ranking taught by Gulwani2 into the system of Gulwani and Moon. Gulwani2 and Gulwani describe the same input-output-example program-synthesis technique; the motivation to do so would have been to select, from among the multiple programs consistent with the examples, the program most likely to produce the user’s intended output and to converge in fewer interactive rounds, thereby resolving the ambiguity that arises when several programs are consistent with the provided examples (Gulwani2, sections 5–5.3). With respect to claims 8-12 and 14, the claims are directed to a system that corresponds to the method recited in claims 1-5 and 7, respectively (see the rejection of claims 1-5 and 7 above; wherein Gulwani also teaches such system in figure 22). With respect to claims 15-19, the claims are directed to a medium that corresponds to the method recited in claims 1-5, respectively (see the rejection of claims 1-5 above; wherein Gulwani also teaches such medium in paragraph [0158]). Claims 6, 13 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Gulwani (US Pub. No. 2011/0302553, hereinafter Gulwani) in view of Sumit Gulwani (“Automating String Processing in Spreadsheets Using Input-Output Examples”, hereinafter Gulwani2) in view of Moon et al. (US Pub. No. 2004/0078105, hereinafter Moon) and further in view of Gulwani et al. (US Pub. No. 2018/0113873, hereinafter Gulwani3). With respect to claim 6, Gulwani in view of Gulwani2 in view of Moon is silent to disclose, however in an analogous art, Gulwani3 teaches wherein said generating the code comprises: selecting appropriate substring expressions from a substring expression bank based on said mapping (an application maintains a search space comprising a plurality of string transformation sub-programs (including sub-programs that extract substrings from, and reformat, input strings), and selects, from the reduced search space, one or more appropriate string transformation sub-programs that are configured to transform the input strings, based on matching the user input and the characteristics of the dataset (Gulwani3 [0010], [0012], [0040])). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to select the substring expressions used in generating the code from a substring expression bank as taught by Gulwani3. The motivation to do so would have been to draw the transformation building blocks from a maintained, searchable set of supported string transformation sub-programs, thereby improving the accuracy, relevance, and speed of generating the desired transformation and reducing the computational load of the search (Gulwani3 [0007], [0021]). With respect to claim 13, the claim is directed to a system that corresponds to the method recited in claim 6, respectively (see the rejection of claim 6 above). With respect to claim 20, the claim is directed to a medium that corresponds to the method recited in claim 6, respectively (see the rejection of claim 6 above). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Brown et al. (US Pub. No. 2022/0374334) Various embodiments of the present invention provide methods, apparatuses, systems, computing devices, computing entities, and/or the like for executing efficient and techniques for generating automated testing workflow data entities based at least in part on session data entities, integrating nestable automated testing workflow data entities based at least in part on session data entities into integrative automated testing workflow data entities based at least in part on session data entities, and generating execution longs for automated testing workflow data entities based at least in part on session data entities. (see abstract). Vaishnav et al. (US Pub. No. 2021/0034439) Provided is a system and method which enables a workflow to be tested while keeping the workflow active by cloning a copy of an underlying job and executing the cloned job in parallel with the underlying job. In one example, the method may include executing an original job on data in a production environment, where the original job comprises machine-readable code of a predefined flow, in response to receiving a simulation request, creating a clone of the original job which comprises an independent execution state from the original job, executing the cloned job for a limited number of runs on one or more events, and storing the processing results of the cloned job. (see abstract). Any inquiry concerning this communication or earlier communications from the examiner should be directed to ANIBAL RIVERACRUZ whose telephone number is (571)270-1200. The examiner can normally be reached Monday-Friday 9:30 AM-6: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 5712726799. 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. /ANIBAL RIVERACRUZ/Primary Examiner, Art Unit 2192
Read full office action

Prosecution Timeline

Aug 16, 2024
Application Filed
Jul 24, 2026
Non-Final Rejection mailed — §101, §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12705049
OPTIMIZING TELEMETRY VOLUME
2y 9m to grant Granted Aug 11, 2026
Patent 12705046
DEVELOPMENT AND OPERATIONS SERVER WITH CODE MAPPING MODULE
2y 9m to grant Granted Aug 11, 2026
Patent 12693957
ACCESSIBILITY VERIFICATION TESTING
2y 11m to grant Granted Jul 28, 2026
Patent 12688033
AUTOMATICALLY RESOLVING MERGE CONFLICTS IN A COMPUTER SYSTEM
2y 5m to grant Granted Jul 21, 2026
Patent 12681777
SOFTWARE DEFINED RANDOMIZATION FOR THE MITIGATION OF UNKNOWN VULNERABILITIES
3y 8m to grant Granted Jul 14, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
91%
Grant Probability
99%
With Interview (+12.0%)
2y 3m (~3m remaining)
Median Time to Grant
Low
PTA Risk
Based on 758 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month