DETAILED ACTION
Notice of Pre-AIA or AIA Status
1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
2. This action is responsive to the application filed December 27, 2023.
Claims 1-25 are pending and are presenting for examination
Examiner Notes
3. Examiner cites particular columns 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 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.
4. 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.
Claim Rejections - 35 USC § 101
5. 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.
6. Claims 1-25 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Independent Claims 1, 11, and 21 recite:
A method comprising:
[a] receiving code generated by a generative artificial intelligence (AI) model;
[b] determining whether the code includes one or more single-use programming constructs; and
[c] flagging the code in response to the code including the one or more single-use programming constructs.
Step 2A – prong 1:
The claims 1, 11, and 21, recite the limitation of:
[b] determining whether the code includes one or more single-use programming constructs; and
[c] flagging the code in response to the code including the one or more single-use programming constructs.
These limitations of steps [b]-[c] as cited in claims 1, 11, and 21 as draft, are functions that, under its broadest reasonable interpretation, recite the abstract idea of a mental process. The limitations encompass a human mind carrying out the function through observation, evaluation judgment and /or opinion, or even with the aid of pen and paper. Thus, this limitation recites and falls within the “Mental Processes” grouping of abstract ideas under Prong 1.
Step 2A – Prong 2:
Under Prong 2, this judicial exception is not integrated into a practical application. The claims recite the following additional elements: “generated by a generative artificial intelligence (AI) model”, “ An apparatus comprising: a processing device; and memory operatively coupled to the processing device, wherein the memory stores computer program instructions that, when executed, cause the processing device”, “A computer program product comprising a computer readable storage medium, wherein the computer readable storage medium comprises computer program instructions that, when executed”, and partially step [a] “ receiving code” of claims 1, 11, and 21.
The additional elements “generated by a generative artificial intelligence (AI) model”, “ An apparatus comprising: a processing device; and memory operatively coupled to the processing device, wherein the memory stores computer program instructions that, when executed, cause the processing device”, and “A computer program product comprising a computer readable storage medium, wherein the computer readable storage medium comprises computer program instructions that, when executed” merely recite instructions to implement an abstract idea on a generic computer, or merely use a generic computer or computer components as a tool to perform the abstract idea, thus is not a practical application under Prong 2. See MPEP 2106.05(f).
Furthermore, the additional element of partially step [a] of claims 1, 11, and 21 merely recites insignificant extra solution activity such as gathering, displaying, updating, transmitting and storing data which does not integrate the judicial exception into a practical application under Prong 2. See MPEP 2106.05(g). Therefore, this additional element does not integrate the judicial exception into a practical application under Prong 2. See MPEP 2106.05(f).
Accordingly, the additional elements do not integrate the recited judicial exception into a practical application and the claims are therefore directed to the judicial exception.
Step 2B:
Under Step 2B, the claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of “generated by a generative artificial intelligence (AI) model”, “ An apparatus comprising: a processing device; and memory operatively coupled to the processing device, wherein the memory stores computer program instructions that, when executed, cause the processing device”, and “A computer program product comprising a computer readable storage medium, wherein the computer readable storage medium comprises computer program instructions that, when executed” are amount to no more than mere instructions, or generic computer/computer components as a tool to carry out the exception, and the additional limitation of step partially step [a] “receiving code” the courts have identified mere data gathering is well-understood, routine and conventional activity. See MPEP 2106.05(d). The recitation of generic computer instruction and computer components to apply the judicial exception, and mere data gathering do not amount to significantly more, thus, cannot provide an inventive concept. Accordingly, the claims are not patent eligible under 35 USC 101.
Regarding to claims 2, 12, and 22, the limitation “wherein determining whether the code includes the one or more single-use programming constructs comprises identifying any single-use programming constructs in the code” recites further mental process. The claims do not include any additional element, thus, no limitation that needs to be analyzed under prong 2 for practical application, or under step 2B for significantly more.
Regarding to claims 3, 13, and 23, the limitation “wherein the code generated by the generative AI model comprises converted code in a first programming language converted by the generative AI model from base code in a second programming language” is merely the use of a computer/instructions running on the computer to carry out the judicial exception, which is neither a practical application under prong 2, nor an inventive concept under step 2B.
Regarding to claims 4, 14, and 24, the limitation “wherein determining whether the code includes the one or more single-use programming constructs comprises identifying, in the converted code, a single-use programming construct not having a corresponding single-use programming construct in the base code” recites further mental process. The claims do not include any additional element, thus, no limitation that needs to be analyzed under prong 2 for practical application, or under step 2B for significantly more.
Regarding to claims 5, 15, and 25, the limitation “wherein determining whether the code includes the one or more single-use programming constructs comprises determining whether a trend for degrees of occurrence of programming constructs in the converted code diverges from a trend for degrees of occurrence of programming constructs in the base code” recites further mental process. The claims do not include any additional element, thus, no limitation that needs to be analyzed under prong 2 for practical application, or under step 2B for significantly more.
Regarding to claims 6 and 16, the limitation “wherein the one or more single-use programming constructs comprise an unused defined variable” merely defines the single user data input, thus amounts to data input which is insignificant extra solution activity.
Regarding to claims 7 and 17, the limitation “wherein the one or more single-use programming constructs comprise an uncalled defined function” merely defines the single user data input, thus amounts to data input which is insignificant extra solution activity.
Regarding to claims 8 and 18, the limitation “providing an indication that the code was flagged for including the one or more single-use programming constructs” are additional elements that recite insignificant extra solution activity which do not amount to a practical application, nor amount to significantly more under step 2B. Furthermore, the additional limitation “to the generative AI model” is merely the use of a computer/instructions running on the computer to carry out the judicial exception, which is neither a practical application under prong 2, nor an inventive concept under step 2B.
Regarding to claims 9 and 19, the limitation “wherein flagging the code in response to the code including the one or more single-use programming constructs comprises storing log data identifying the one or more single-use programming constructs” are additional elements that recite insignificant extra solution activity which do not amount to a practical application,
nor amount to significantly more under step 2B.
Regarding to claims 10 and 20, the limitation “wherein flagging the code in response to the code including the one or more single-use programming constructs comprises raising an exception” recites further mental process. The claims do not include any additional element, thus, no limitation that needs to be analyzed under prong 2 for practical application, or under step 2B for significantly more.
Claim Rejections - 35 USC § 102
7. The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
8. Claims 1-9, 11-19, and 21-25 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Agarwal et al. (US 11429360 B1, hereinafter Agarwal).
As per claims 1, 11, and 21, Agarwal discloses a method comprising:
receiving code generated by a generative artificial intelligence (AI) model – (e.g., the translated code sample code 120 of Fig. 1 as such “embodiments of the present invention relates to integrating generative artificial intelligence (AI) based translation systems with specific visual cues on a proposed translation indicating regions where user intervention is required… in JAVA® downloaded from a repository, etc., and produce a translation (e.g., to newer version of the language, such as PYTHON® 3.0) for each of these instances using a pre-trained translation coder (TransCoder) model -- generative AI model --with a beam size of five (5)” – see at least col. 1: 18-22, col. 4: 40-41, 52-col. 5: 1-13, Fig. 1, Fig. 4,and associated text);
determining whether the code includes one or more single-use programming constructs – (e.g., Transcoder model using lint violation to determine/pinpoint unused-variable unused argument, not callable –one or single use programing constructs --that occurs within the translated code 120 as such “ To understand how the TransCoder model handles the syntactic differences between two programming languages (e.g., JAVA® and PYTHON® 3.0), the different kinds of lint violations that occur in the translated code –converted code -- are identified. Returning to FIG. 2, the top lint violations (out of the 66 observed) and the frequency with which they occur in the generated translations are shown in example 200... Other violations that occurred frequently were undefined-variable (67%), unused-variable (39%),” unused argument, not callable --one or single use programing constructs-- of Fig. 2– see at least col. 5: 65-col. 6: 1-22, Figs. 1-3 and associated text); and
flagging the code in response to the code including the one or more single-use programming constructs. – (e.g., the method may include that each line of the code base of the target programming language is flagged by the artificial intelligence model for a lint violation including a lint violation indication…include the feature that each line of the code base of the target programming language that is flagged by the artificial intelligence model for a lint violation includes a lint violation indication (see, e.g., lint violations 310, FIG. 3.)” – see at least col. 2: 18-22 col. 3: 53-57, Figs. 1-3 and associated text).
Further regarding to claim 11, Agarwal discloses an apparatus (e.g., hardware system 800 -- see at least col. 11: 23-40, Fig. 8, and associated text) comprising: a processing device; and memory operatively coupled to the processing device, wherein the memory stores computer program instructions that, when executed, cause the processing device to implement method step as of claim 1 above.
Further regarding to claim 21, Agarwal discloses a computer program product comprising a computer readable storage medium – (E.g., as disk storage units 820 -- see at least col. 11: 23-40, Fig. 8, and associated text), wherein the computer readable storage medium comprises computer program instructions that, when executed cause to implement method step as of claim 1 above.
As per claims 2, 12, and 22, Agarwal discloses wherein determining whether the code includes the one or more single-use programming constructs comprises identifying any single-use programming constructs in the code— (E.g., Transcoder model using lint violation to determine/pinpoint unused-variable, unused argument, not callable –one or single use programing constructs --that occurs within the translated code 120– see at least col. 5: 65-col. 6: 1-22, Figs. 2-3 and associated text).
As per claims 3, 13, and 23, Agarwal discloses wherein the code generated by the generative AI model comprises converted code in a first programming language converted by the generative AI model from base code in a second programming language— (e.g., In this example embodiment, the original code sample 110 is in JAVA® code 115 that is selected to be translated to PYTHON® code 125 via Transcoder model -- generative AI model --The highlighted translated code sample 120 indicates where a user or programmer is directed to inspect for potential or actual issues in translation. – see at least col. 4:40-52, Fig. 1, Fig. 4, and associated text).
As per claims 4, 14, and 24, Agarwal discloses wherein determining whether the code includes the one or more single-use programming constructs comprises identifying, in the converted code, a single-use programming construct not having a corresponding single-use programming construct in the base code – (e.g., FIG. 3 illustrates an example display 300 of a code snippet translated from one language to another with the corresponding errors (lint violations 310) and model confidences 320 for each line—which showing no violations—one or more single use programming constructs-- occur – see at least col. 5: 28-31, Figs. 2-3 and associated text).
As per claims 5, 15, and 25, Agarwal discloses wherein determining whether the code includes the one or more single-use programming constructs comprises determining whether a trend for degrees of occurrence of programming constructs in the converted code diverges from a trend for degrees of occurrence of programming constructs in the base code – (E.g., The regions of uncertainty provide the regions of low confidence of the translated code base in the target programming language for targeted user intervention, and the regions of low confidence correlate with violations to provide displayed actionable insight regions.—see at least col. 3: 21-29)..
As per claims 6 and 16, Agarwal discloses wherein the one or more single-use programming constructs comprise an unused defined variable – (E.g. fig. 2 indicated that violation of undefined variable detecting would imply that unused variable is equivalent to unused-define-variable – see at least col. 5: 65-col. 6: 1-22, Fig 2, and associated text).
As per claims 7 and 17, Agarwal discloses wherein the one or more single-use programming constructs comprise an uncalled defined function – (e.g. fig. 2 indicated not-callable violation-- see at least col. 5: 65-col. 6: 1-22, Fig 2, and associated text).
As per claims 8 and 18, Agarwal discloses further comprising providing, to the generative AI model, an indication that the code was flagged for including the one or more single-use programming constructs – (E.g. FIG. 2 illustrates an example 200 of lint violations that occur within the translation code and lint violation as flag in fig. 3 – see at least col. 2: 18-22 col. 3: 53-57, Figs. 1-3 and associated text).
As per claims 9 and 19, Agarwal discloses wherein flagging the code in response to the code including the one or more single-use programming constructs comprises storing log data identifying the one or more single-use programming constructs --(E.g. FIG. 2 illustrates an example 200 of lint violations that occur within the translation code and lint violation as flag in fig. 3 – see at least col. 2: 18-22 col. 3: 53-57, Figs. 1-3 and associated text).
Claim Rejections - 35 USC § 103
9. 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.
10. Claims 10 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Agarwal in view of Fei et al. (US 8793661 B1, hereinafter Fei).
As per claims 10 and 20, it is to note that while Agarwal disclose flagging the code in response to the code including the one or more single-use – see at least col. 2: 18-22 col. 3: 53-57, Figs. 1-3 and associated text), but does not explicitly disclose; however, Fei, in analogous art, discloses comprises raising an exception (e.g. specify condition to raise an exception, associated with the error during program execution – see at least col. 2: 32-42).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have incorporated Fei’s teaching into Agarwal’s teaching for allowing errors/violations to be processed or handling in certain way; accordingly, avoid system disruption as seen in Fei (e.g., col. 1:15-27)
Conclusion
11. The prior art made of record and not relied upon (cited on 892 form) is considered pertinent to application disclosure.
Naveh et al. (US-20150234652-A1) discloses identify and purge unused code.
HICKS et al. (US-20250217118-A1) disclose tagging deterministic code in artificial intelligence-generated code.
12. Any inquiry concerning this communication or earlier communications from the examiner should be directed to MARINA LEE whose telephone number is (571)270-1648. The examiner can normally be reached Monday to Friday (8 am to 4: 30 pm ET).
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 on (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.
/MARINA LEE/Primary Examiner, Art Unit 2192