DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This Office Action is in response to the filing date of 8/6/2024.
Claims 1-13 are pending and have been considered below.
Claim Interpretation
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are: “source input circuitry configured to”, “modification input circuitry configured to”, and “processing circuitry configured to” in claim 1.
Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
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-13 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more:
Regarding claim 1, the claim recites the limitations “apply the modification to the location in the source code… generate an abstract syntax tree from the source code, and to identify the location using the abstract syntax tree” as drafted, recite functions that, under its broadest reasonable interpretation, covers functions 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 limitation as drafted, recite functions that, under its broadest reasonable interpretation, covers functions that could reasonably be performed in the mind, including with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas under Prong 1 Step 2A
Under Prong 2, Step 2A, the judicial exception is not integrated into a practical application. The claim recites the following additional elements (1) “a data processing apparatus comprising source input circuitry, modification input circuitry, and processing circuitry” are merely instructions to implement the abstract idea on a computer, or merely uses a computer, with instructions, as a tool to perform the abstract idea according to MPEP 2106.05(f), thus, not indicative of an integration into a practical application. The additional elements of (2) “receive source code” and “receive a modification instruction that indicates a location in the source code” which are merely insignificant extra solution activity of gathering data, storing data and outputting the results of the abstract idea which does not integrate the judicial exception into a practical application. Accordingly, the additional elements do not integrate the recited judicial exception into a practical application, and the claim is therefore directed to the judicial exception. See MPEP 2106.05(g).
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 (1) use of generic computer to implement the abstract idea, as discussed above, which does not amount to significantly more, thus, not an inventive concept, and the additional elements (2) which are merely insignificant extra solution activity of gathering data and the courts have identified gathering data, storing data, and outputting the result is well-understood, routine and conventional activity (Berkheimer v. HP, Inc., 881 F.3d 1360, 1368, 125 USPQ2d 1649, 1654 (Fed. Cir. 2018)), thus, cannot amount to an inventive concept. Accordingly, the claim does not appear to be patent eligible under 35 USC 101. See MPEP 2106.05(d).
Regarding claims 2-7, the claims fail to recite limitations that integrate into a practical application. The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Regarding claims 8-11 recite limitations that under its broadest reasonable interpretation covers functions that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components.
Regarding claim 12, the claim recites the limitations “applying the modification to the location in the source code in order to produce output code, wherein an abstract syntax tree is generated from the source code and the abstract syntax tree is used to identify the location” as drafted, recite functions that, under its broadest reasonable interpretation, covers functions 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 limitation as drafted, recite functions that, under its broadest reasonable interpretation, covers functions that could reasonably be performed in the mind, including with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas under Prong 1 Step 2A.
Under Prong 2, Step 2A, the judicial exception is not integrated into a practical application. The claim recites the following additional elements “receive source code” and “receiving a modification instruction that indicates a location in the source code” which are merely insignificant extra solution activity of gathering data, storing data and outputting the results of the abstract idea which does not integrate the judicial exception into a practical application. Accordingly, the additional elements do not integrate the recited judicial exception into a practical application, and the claim is therefore directed to the judicial exception. See MPEP 2106.05(g).
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 “receive source code” and “receiving a modification instruction that indicates a location in the source code” which are merely insignificant extra solution activity of gathering data and the courts have identified gathering data, storing data, and outputting the result is well-understood, routine and conventional activity (Berkheimer v. HP, Inc., 881 F.3d 1360, 1368, 125 USPQ2d 1649, 1654 (Fed. Cir. 2018)), thus, cannot amount to an inventive concept. Accordingly, the claim does not appear to be patent eligible under 35 USC 101. See MPEP 2106.05(d).
Regarding claim 13, the claim recites the limitations “apply the modification to the location in the source code in order to produce output code, wherein an abstract syntax tree is generated from the source code and the abstract syntax tree is used to identify the location” as drafted, recite functions that, under its broadest reasonable interpretation, covers functions 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 limitation as drafted, recite functions that, under its broadest reasonable interpretation, covers functions that could reasonably be performed in the mind, including with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas under Prong 1 Step 2A.
Under Prong 2, Step 2A, the judicial exception is not integrated into a practical application. The claim recites the following additional elements (1) “a non-transitory storage device comprising a computer program” are merely instructions to implement the abstract idea on a computer, or merely uses a computer, with instructions, as a tool to perform the abstract idea according to MPEP 2106.05(f), thus, not indicative of an integration into a practical application. The additional elements of (2) “receive source code” and “receive a modification instruction that indicates a location in the source code” which are merely insignificant extra solution activity of gathering data, storing data and outputting the results of the abstract idea which does not integrate the judicial exception into a practical application. Accordingly, the additional elements do not integrate the recited judicial exception into a practical application, and the claim is therefore directed to the judicial exception. See MPEP 2106.05(g).
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 (1) use of generic computer to implement the abstract idea, as discussed above, which does not amount to significantly more, thus, not an inventive concept, and the additional elements (2) which are merely insignificant extra solution activity of gathering data and the courts have identified gathering data, storing data, and outputting the result is well-understood, routine and conventional activity (Berkheimer v. HP, Inc., 881 F.3d 1360, 1368, 125 USPQ2d 1649, 1654 (Fed. Cir. 2018)), thus, cannot amount to an inventive concept. Accordingly, the claim does not appear to be patent eligible under 35 USC 101. See MPEP 2106.05(d).
Claim Rejections - 35 USC § 102
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.
Claim 1-7 and 9-13 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by U.S. Patent No. 5784553.
Per claims 1, 12, and 13, Kolawa teaches a data processing apparatus comprising:
source input circuitry configured to receive source code (see at least FIG. 23; see also col. 26, lines 45-46 “…the JAVA Parser 230 reads the .class files 210 generated by the JAVA Compiler 208 and the .java files 200 of the original source code…”);
modification input circuitry configured to receive a modification instruction that indicates a location in the source code, and a modification to be made to the source code at the location (see at least FIG. 23; see also col. 26, lines 45-46 “…the JAVA Parser creates a parse tree for the JAVA program and analyzes it by identifying points in the computer program where instrumentation can be inserted…”); and
processing circuitry configured to apply the modification to the location in the source code (see at least FIG. 23; see also col. 26, lines 45-46 “…the bytecodes in the .class file are analyzed and a new stream of bytecodes with appropriate instrumentation is calculated. An equivalent .class file is then written as output at step 498…”),
wherein the processing circuitry is configured to generate an abstract syntax tree from the source code, and to identify the location using the abstract syntax tree (see at least FIG. 23; see also col. 26, lines 45-46 “…the JAVA Parser creates a parse tree for the JAVA program and analyzes it by identifying points in the computer program where instrumentation can be inserted…”);
Per claim 2, Kolawa further teaches:
wherein the location comprises an expression (see at least FIG. 4A & 4B).
Per claim 3, Kolawa further teaches:
wherein the location comprises one or more statements (see at least FIG. 4A & 4B; see also at least col. 7, lines 54-60 “The first type of instrumentation is coverage analysis instrumentation 31 which enables the TGS 10 (shown in FIG. 1) to keep track of which code blocks of the program under test have been executed. For example, the instrumentation statement ".sub.-- Insight.sub.-- cov.sub.-- ptr[0 ]=1;" on line 12 of FIG. 4B indicates that the code block running from lines 1 through 4 of FIG. 4A have been executed…”).
Per claim 4, Kolawa further teaches:
wherein the series of statements are contiguous (see at least FIG. 4A & 4B; see also at least col. 7, lines 54-60 “The first type of instrumentation is coverage analysis instrumentation 31 which enables the TGS 10 (shown in FIG. 1) to keep track of which code blocks of the program under test have been executed. For example, the instrumentation statement ".sub.-- Insight.sub.-- cov.sub.-- ptr[0 ]=1;" on line 12 of FIG. 4B indicates that the code block running from lines 1 through 4 of FIG. 4A have been executed…”).
Per claim 5, Kolawa further teaches:
wherein the modification input circuitry is configured to receive a further modification instruction that indicates a second location; and the second location is in the source code as modified by the modification (see at least col.7, lines 61-67 “The second type of instrumentation is block flow analysis instrumentation 32 which enables the TGS 10 (shown in FIG. 1) to keep track of the control flow of the program under test. For example, the instrumentation statement “.sub.-- Insight.sub.-- tgs.sub.-- block(0, 5, 0);" on line 13 of FIG. 4B indicates that the statement on line 5 of FIG. 4A has been reached…”).
Per claim 6, Kolawa further teaches:
wherein the modification instruction defines a capture group, and the modification includes a reference to the capture group (see at least col. 7, lines 54-60 “The first type of instrumentation is coverage analysis instrumentation 31 which enables the TGS 10 (shown in FIG. 1) to keep track of which code blocks of the program under test have been executed. For example, the instrumentation statement ".sub.-- Insight.sub.-- cov.sub.-- ptr[0 ]=1;" on line 12 of FIG. 4B indicates that the code block running from lines 1 through 4 of FIG. 4A have been executed…”).
Per claim 7, Kolawa further teaches:
wherein the capture group is identified using an identifier, and the identifier is referenced in the modification (see at least col.4, lines 7-8 “…analyzing the parse tree to identify points in the computer program where instrumentation can be inserted…”).
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.
Claim 8 is rejected under 35 U.S.C. 103 as being unpatentable over U.S. Patent No. 5784553 to Kolawa in view of TW202314283A to Gomez-Martinez.
Per claim 8, Kolawa does not explicitly teach:
wherein the processing circuitry is configured to determine the location using greedy matching.
However, Gomez-Martinez teaches an analogous art relates to location identification, comprising:
determine the location using greedy matching (see at least page 46, 2nd paragraph “…a graph showing an exemplary relationship between the mean of mapping errors and distance errors using a greedy algorithm to match a set of requesting device locations to a set of installed device locations…”).
It would have been obvious for a person of an ordinary skilled in the art as of the effective filing date of the claimed invention to modify the teaching of Kolawa to incorporate the teaching of Gomez-Martinez to use a well-known greedy algorithm to find locations. One would have been motivated to use a greedy algorithm to find a location because it’s fast to implement.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US20200192662 relates to source code modification.
US20230409299 relates to source code modification.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to PHILLIP H NGUYEN whose telephone number is (571)270-1070. The examiner can normally be reached Monday-Friday 9:00AM-5:00PM.
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, Wei Zhen can be reached at (571) 272-3708. 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.
/PHILLIP H NGUYEN/Primary Examiner, Art Unit 2191