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 .
Status of Claims
This action is in response to the application as filed on May 26, 2023. Claims 1-15 are pending.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on April 4, 2024 is in compliance with the provisions of 37 CFR § 1.97. Accordingly, the IDS has been considered by the examiner.
Drawings
The drawings are objected to under 37 CFR 1.83(a). The drawings must show every feature of the invention specified in the claims. Therefore, the graph representation of the submitted solution, the graph representation of the selected error-free solution, the graphical user interface must be shown or the features canceled from the claims. No new matter should be entered.
Corrected drawing sheets in compliance with 37 CFR § 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. The figure or figure number of an amended drawing should not be labeled as “amended.” If a drawing figure is to be canceled, the appropriate figure must be removed from the replacement sheet, and where necessary, the remaining figures must be renumbered and appropriate changes made to the brief description of the several views of the drawings for consistency. Additional replacement sheets may be necessary to show the renumbering of the remaining figures. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 § CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance.
Claim Objections
Claims 7, 9, and 12 are objected to because of the following informalities:
Claim 7 recites “the identifying the difference between the graph representations.” This should read -- the identifying of the difference between the graph representations--. Appropriate correction is required.
Claim 9 recites “wherein the submitted solution is a computer source code.” Source code is a non-countable noun. Therefore this should simply read -- wherein the submitted solution is computer source code--. Appropriate correction is required.
Claim 12 recites “wherein the score is inverse correlated to the number of identified differences.” This should read -- wherein the score is inversely correlated to the number of identified differences --. Appropriate correction is required.
Claim Rejections - 35 USC § 112
The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
Claims 1-15 are rejected under 35 U.S.C. 112(a), as failing to comply with the written description requirement. The claims contain subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, at the time the application was filed, had possession of the claimed invention.
Claims 1 and 8 recite the following computer/processor-based functions: selecting a graph representation of an error-free solution from the plurality of pre- selected error-free solutions with a minimal distance from the graph representation of the submitted solution; comparing the graph representation of the submitted solution to the graph representation of the selected error-free solution; identifying a difference between the graph representation of the submitted solution and the graph representation of the selected error-free solution; and mapping the difference between the graph representation of the submitted solution and the graph representation of the selected error-free solution to the submitted solution to source code fragments from the submitted solution and the selected error-free solution from which the nodes and edges comprising the difference were generated.
Applicant’s drawings show a system 100 in Fig. 1 having a computing device 101 that includes at least one processor and a memory. The specification indicates “The at least one processor can be a programmable device that accepts digital data as input, is configured to process the input according to instructions or algorithms, and provides results as outputs. In an embodiment, the at least one processor can be a central processing unit (CPU) configured to carry out the instructions of a computer program. The at least one processor is therefore configured to perform at least basic arithmetical, logical, and input/output operations that the determination of attention level is made by software forming part of the processing system.”
In particular, the computing device 101 includes software modules or units, such as graph generator 102, selector 104, comparator 108, result computing unit 110, score computing unit 1112 and classifier 114. Each of these elements is implemented by the computing device or processor and correspond to a function in the claims (see above), and, therefore, the claims recite a function implemented by a computer.
According to MPEP 2161.01 I., when examining computer-implemented claims, examiners should determine whether the specification discloses the computer and the algorithm (e.g., the necessary steps and/or flowcharts) that perform the claimed functions in sufficient detail such that one of ordinary skill in the art can reasonably conclude that the inventor possessed the claimed subject matter at the time of filing. An algorithm is defined, for example, as "a finite sequence of steps for solving a logical or mathematical problem or performing a task." Microsoft Computer Dictionary (5th ed., 2002). Applicant may "express that algorithm in any understandable terms including as a mathematical formula, in prose, or as a flow chart, or in any other manner that provides sufficient structure." Finisar Corp. v. DirecTV Grp., Inc., 523 F.3d 1323, 1340, 86 USPQ2d 1609, 1623 (Fed. Cir. 2008) (internal citation omitted). It is not enough that one skilled in the art could write a program to achieve the claimed function because the specification must explain how the inventor intends to achieve the claimed function to satisfy the written description requirement. See, e.g., Vasudevan Software, Inc. v. MicroStrategy, Inc., 782 F.3d 671, 681-683, 114 USPQ2d 1349, 1356, 1357 (Fed. Cir. 2015) (reversing and remanding the district court’s grant of summary judgment of invalidity for lack of adequate written description where there were genuine issues of material fact regarding "whether the specification show[ed] possession by the inventor of how accessing disparate databases is achieved"). If the specification does not provide a disclosure of the computer and algorithm in sufficient detail to demonstrate to one of ordinary skill in the art that the inventor possessed the invention a rejection under 35 U.S.C. 112(a) for lack of written description must be made.
Here the specification appears to provide disclosure of a computer to implement the functions, but completely lacks any description of the algorithms (e.g., flow chart, mathematical model, code, prose) of how to select a graph representation of an error-free solution from the plurality of pre- selected error-free solutions with a minimal distance from the graph representation of the submitted solution; compare the graph representation of the submitted solution to the graph representation of the selected error-free solution; identify a difference between the graph representation of the submitted solution and the graph representation of the selected error-free solution; and map the difference between the graph representation of the submitted solution and the graph representation of the selected error-free solution to the submitted solution to source code fragments from the submitted solution and the selected error-free solution from which the nodes and edges comprising the difference were generated. While Fig. 2 is a flow chart and the steps in the flow chart correspond to these functions; however, there is no further flow chart, mathematical model, code, prose to describe how to implement these steps. For example, with regard to selecting a graph representation of an error-free solution from the plurality of pre- selected error-free solutions with a minimal distance from the graph representation of the submitted solution, the specification states in ¶32: “More specifically, the error-free solutions and graph representations thereof are fed into the memory 106 of the system 100. The selector 104 is configured to select graph representation of that error-free solution which has a minimal distance relative to the graph representation of the submitted solution. In an embodiment, the distance is calculated as the distance between the graph representation of the submitted solution and each graph representation from the plurality of pre-selected error-free solutions. In an embodiment, the distance between graphs is calculated using a Graph Edit Distance (GED).” However, no examples of the graphs are given (solution or error-free) and no steps, explanation, processes, or algorithm of how to determine the minimal distance are provided. Although the distance is described as GED, there are many different ways of determining GED and, therefore, Applicant has not described what process Applicant intended and how it is applied to achieve the function recited in Applicant’s claims. Therefore, one skilled in the art is left to “guess” at what is meant by the limited description provided.
The claims 3 and 10 recite selecting the graph representation of the selected error- free solution further comprises using a thinning algorithm to select the graph representation of the selected error-free solution. Paragraph In an embodiment, the selector 104 is further configured to use a thinning algorithm
to select the graph representation of the selected error-free solution. In an embodiment, a thinning algorithm simplifies the graph representation of the solution by removing certain nodes or edges based on a predefined criteria. Examples of thinning using predefined criteria can include removing nodes and edges not in the largest connected component, smoothing vertices according to certain degrees, and removing nodes and edges that are not contained in a cycle (e.g. a dead end). In embodiments, thinning can include removing nodes and/or edges while retaining information contained in the discarded nodes or edges (such as in remaining nodes or edges). In other embodiments, thinning can include removing nodes and/or edges without retaining information contained in the discarded nodes or edges. However, no example or description of the algorithm, the steps or processes involved are described for thinning is applied for the selecting an error free graph.
Finally the claims 7 and 15 recite wherein the identifying the difference between the graph representations of the submitted solution and the graph representation of the selected error-free solution further comprises classifying the errors based on prior classification of errors using at least one of a machine learning artificial intelligence (Al) system and an expert Al system.
The specification explains “In an embodiment, the system further comprises a classifier 114 configured to classify the errors based on prior classification of errors, where the classifier 114 is at least one of a machine learning artificial intelligence (AI) system, for example, the Naive Bayes classifier, the k-nearest neighbors algorithm, or the Perceptron algorithm, and an expert AI system, wherein the expert AI system uses a predefined and preprogrammed algorithm to make the classification decision.” However, no description or explanation of how this is accomplished is given. For example, no description of the predefined and preprogrammed algorithm to make the classification decision by the expert system is given.
The specification must explicitly disclose the algorithm for performing the claimed function, and simply reciting the claimed function in the specification will not be a sufficient disclosure for an algorithm which, by definition, must contain a sequence of steps. Blackboard, Inc. v. Desire2Learn, Inc., 574 F.3d 1371, 1383-85, 91 USPQ2d 1481, 1491-93 (Fed. Cir. 2009); Net MoneyIN, Inc. v. VeriSign, Inc., 545 F.3d 1359, 1366-67, 88 USPQ2d 1751, 1756-57 (Fed. Cir. 2008); Ex parte Rodriguez, 92 USPQ2d 1395, 1405-06 (Bd. Pat. App. & Inter. 2009). Here the specification provides no such description, therefore, the specification lacks adequate written description for the claimed functions of the computing device.
In addition, claims 2-7 and 9-15 depend from claims 1 and 8, and therefore also lack written description based on their dependency.
As a result, claims 1-15 contain subject matter which lacks adequate written description, and for at least these reasons, claims 1-15 are found to fail the written description requirement.
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.
Claims 1-15 are rejected under 35 U.S.C. § 112(b), as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, regards as the invention.
In re claims 1 and 8, the claims recite the limitation “the nodes and edges” at lines 15 and 21-22. There is insufficient antecedent basis for this limitation in the claim.
In re claims 2 and 14, the claims recite the limitation “the Graph Edit Distance” at line 1. There is insufficient antecedent basis for this limitation in the claim.
In re claim 5, the claim recites the limitation “the graphs of the submitted solution” at line 2. There is insufficient antecedent basis for this limitation in the claim.
In re claims 6 and 13, the claims recite the limitations “the graph” and “the software source code” at line 1. There is insufficient antecedent basis for these limitations in the claim.
Claims 2-7 and 9-15 depend from a rejected base claim, and therefore are rejected for at least the reasons provided for 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-15 are rejected under 35 U.S.C. § 101 because the claimed invention is directed to an abstract idea without significantly more.
A patent may be obtained for “any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof.” 35 U.S.C. § 101. The Supreme Court has held that this provision contains an important implicit exception: laws of nature, natural phenomena, and abstract ideas are not patentable. Alice Corp. Pty. Ltd. v. CLS Bank Int’l, 134 S. Ct. 2347, 2354 (2014); Gottschalk v. Benson, 409 U.S. 63, 67 (1972) (“Phenomena of nature, though just discovered, mental processes, and abstract intellectual concepts are not patentable, as they are the basic tools of scientific and technological work.”). Notwithstanding that a law of nature or an abstract idea, by itself, is not patentable, the application of these concepts may be deserving of patent protection. Mayo Collaborative Servs. v. Prometheus Labs., Inc., 132 S. Ct. 1289, 1293-94 (2012). In Mayo, the Court stated that “to transform an unpatentable law of nature into a patent eligible application of such a law, one must do more than simply state the law of nature while adding the words ‘apply it.” Mayo, 132 S. Ct. at 1294 (citation omitted).
In Alice, the Supreme Court reaffirmed the framework set forth previously in Mayo “for distinguishing patents that claim laws of nature, natural phenomena, and abstract ideas from those that claim patent-eligible applications of these concepts.” Alice, 134 S. Ct. at 2355. The first step in the analysis is to “determine whether the claims at issue are directed to one of those patent-ineligible concepts.” Id. If the claims are directed to a patent-ineligible concept, then the second step in the analysis is to consider the elements of the claims “individually and ‘as an ordered combination” to determine whether there are additional elements that “transform the nature of the claim’ into a patent-eligible application.” Id. (quoting Mayo, 132 S. Ct. at 1298, 1297). In other words, the second step is to “search for an ‘inventive concept’-i.e., an element or combination of elements that is ‘sufficient to ensure that the patent in practice amounts to significantly more than a patent upon the [ineligible concept] itself.” Id. (brackets in original) (quoting Mayo, 132 S. Ct. at 1294). The prohibition against patenting an abstract idea “cannot be circumvented by attempting to limit the use of the formula to a particular technological environment or adding insignificant post-solution activity.” Bilski v. Kappos, 561 U.S. 593, 610-11 (2010) (citation and internal quotation marks omitted). The Court in Alice noted that “[s]imply appending conventional steps, specified at a high level of generality,’ was not ‘enough’ [in Mayo] to supply an ‘inventive concept.” Alice, 134 S. Ct. at 2357 (quoting Mayo, 132 S. Ct. at 1300, 1297, 1294).
Examiners must perform a Two-Part Analysis for Judicial Exceptions. In Step 1, it must be determined whether the claimed invention is directed to a process, machine, manufacture or composition of matter.
Claims 1-15 are directed to a method and a system. As such, the claimed invention falls into the broad categories of invention. However, even claims that fall within one of the four subject matter categories may nevertheless be ineligible if they encompass laws of nature, physical phenomena, or abstract ideas. See Diamond v. Chakrabarty, 447 U.S. at 309.
In Step 2A, it must be determined whether the claimed invention is ‘directed to’ a judicially recognized exception. According to the specification, “In many educational institutions and systems, the key element of education is teaching a student the ability to solve problems. In such environments, each student can have more than one attempt to submit a solution to a given problem. For example, a software development student may submit his code for review, testing, and ultimately, grading. When a solution is submitted by a subject, for example, a student or a job applicant, the reviewing party must typically manually review the submission. As a task may have multiple error-free solutions, it is often hard to simply compare the structure of the student's solution to one or even many previously collected error-free solutions using any of the existing code comparison tools. Thus, there is a need for automatically reviewing a solution submitted by a subject and automatically identifying and classifying one or more errors within that solution.” (See, e.g., ¶¶2-4).
Independent claim 1 recites the following (with emphasis):
A method for identification and classification of errors in a submitted solution using a collection of pre-selected error-free solutions, the method comprising:
generating a graph representation of the plurality of pre-selected error-free solutions and a graph representation of the submitted solution, in any order;
selecting a graph representation of an error-free solution from the plurality of pre- selected error-free solutions with a minimal distance from the graph representation of the submitted solution;
comparing the graph representation of the submitted solution to the graph representation of the selected error-free solution;
identifying a difference between the graph representation of the submitted solution and the graph representation of the selected error-free solution; mapping the difference between the graph representation of the submitted solution and the graph representation of the selected error-free solution to the submitted solution to source code fragments from the submitted solution and the selected error-free solution from which the nodes and edges comprising the difference were generated; and
displaying, using a graphical user interface, the difference between the submitted solution and the selected error-free solution as an explanation of an error in the submitted solution.
The underlined portions of claim 1 generally encompass the abstract idea, with substantially identical features in claim 8. Claims 2-7 and 9-15 further define the abstract idea such as by defining the training material provided. Under prong 2, the claimed invention encompasses an abstract idea in the form of certain methods of organizing human activity and/or mental processes. The claims recite a method of teaching students in computer skills. This is a method of organizing human activity because it is drawn to a method of managing personal behavior of students by providing feedback about their solutions. Furthermore, the method can be performed in the mind of a human and/or with the aid of pencil and paper.
The comparing of student solutions to “correct” or “error free” solutions to a problem by teachers to identify differences and provide feedback to the students about their work, such as an explanation of the identified error, including some form of scoring or grading of the solution as a means of teaching, training, and imparting knowledge is basic to the learning process. The system and methods, as stated by Applicant in ¶4 of the instant application simply seek to automate this well-known activity using generic computers recited at a high level of generality, and, therefore, the claims are directed to the abstract concept sub-grouping of "managing personal behavior or relationships or interactions between people" including teaching and following rules or instructions.
In addition, the claims also recite a mental process. The claims recite operations directed to observations, evaluations, judgments, such as, generating, selecting, comparing, identifying, and mapping, which are mental processes. But for the recitation of graphical user interface and processor/memory, and instructions executed by the processor, nothing in the claimed method or operations precludes the recitations from practically being performed in the mind. For example, comparing the graph representation of the submitted solution to the graph representation of the selected error-free solution; identifying a difference between the graph representation of the submitted solution and the graph representation of the selected error-free solution can be performed or formulated in the mind a teacher, tutor, or instructor by observing the graphs and judging any differences either with or without the aid of pen and paper. If a claim, under its broadest reasonable interpretation, covers performance of recitations in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas.
Therefore, under prong 2, the claimed invention encompasses an abstract idea in the form of certain methods of organizing human activity and/or mental processes.
Under prong 2, the instant claims do not integrate the abstract idea into a practical application. In other words, the claims do not (1) improve the functioning of a computer or other technology, (2) effect a particular treatment or prophylaxis for a disease or medical condition (3) are not applied with any particular machine, (4) do not effect a transformation of a particular article to a different state, and (5) are not applied in any meaningful way beyond generally linking the use of the judicial exception to a particular technological environment, such that the claim, as a whole, is more than a drafting effort designed to monopolize the exception, the claims are directed to the judicially recognized exception of an abstract idea. See MPEP §§ 2106.05(a)-(c), (e)-(h).
While certain physical elements (i.e., elements that are not an abstract idea) are present in the claims, such features do not affect an improvement in any technology or technical field and are recited in generic (i.e., not particular) ways. Similarly, the abstract idea does not improve the functioning of these physical elements. In recent cases, the CAFC has made it clear that the term “practical application” means providing a technical solution to a technical problem in computers or networks per se. To be patent-eligible, the claimed invention must improve the computer as a computer. Applicant’s invention does not meet these requirements. Applicant’s invention uses computers to automate comparison of data dense structures (such as graphs) using the computers abilities of speed to implement the comparison and/or identification of differences. This does not improve the computer qua computer. Instead, Applicant’s invention uses generic computers as a tool to implement the abstract idea for the inherit befits provided by computers. As such, the claims are not eligible under Section 101.
Step 2B requires that if the claim encompasses a judicially recognized exception, it must be determined whether the claimed invention recites additional elements that amount to significantly more than the judicial exception. The additional elements or combination of elements other than the abstract idea per se amounts to no more than: a system having a computer and memory configured to perform the abstract idea.
These elements amount to generic, well-understood and conventional computer components. The use of computers to process data and evaluate responses represents well-understood, routine, conventional activity previously known to the industry and/or constitutes extra-solution activity. As demonstrated by Berkheimer v. HP, such computer functions cannot save an otherwise ineligible claim under §101. In short, each step does no more than require a generic computer to perform generic computer functions. The claimed features relating providing a graphical user interface to display the results of the comparison represent extra post-solution activity that are not particular and are recited at a high level of generality.
Considered as an ordered combination, only generic computer components are present. Viewed as a whole, the claims simply recite the concept of making judgments by a generic computer. The claims do not, for example, purport to improve the functioning of the computer itself. Nor do they effect an improvement in any other technology or technical field. Instead, the claims at issue amount to nothing significantly more than an instruction to apply the abstract idea using some unspecified, generic computer. Under relevant court precedents, that is not enough to transform an abstract idea into a patent-eligible invention.
As a result, claims 1-15 are not patent eligible
Claim Rejections - 35 USC § 102
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.
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.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1, 2, 4, 6, 8, 9, 11, 13, and 14 are rejected under 35 U.S.C. § 102(a)(1) as being anticipated by Chinese Publication No. CN 109933333 A by Chen et al. (“Chen”).
In re claims 1 and 8, Chen discloses a system and method for identification and classification of errors in a submitted solution using a collection of pre-selected error-free solutions [Technical Field], comprising: generating a graph representation of the plurality of pre-selected error-free solutions and a graph representation of the submitted solution, in any order [Abstract, ¶¶23]; selecting a graph representation of an error-free solution from the plurality of pre- selected error-free solutions with a minimal distance from the graph representation of the submitted solution [¶24]; comparing the graph representation of the submitted solution to the graph representation of the selected error-free solution; identifying a difference between the graph representation of the submitted solution and the graph representation of the selected error-free solution [¶¶30-48]; mapping the difference between the graph representation of the submitted solution and the graph representation of the selected error-free solution to the submitted solution to source code fragments from the submitted solution and the selected error-free solution from which the nodes and edges comprising the difference were generated [¶¶30-48]; and displaying, using a graphical user interface, the difference between the submitted solution and the selected error-free solution as an explanation of an error in the submitted solution [¶¶20,48].
In re claims 2 and 14, Chen discloses, wherein the distance between graphs is the Graph Edit Distance (GED) [Abstract, ¶5].
In re claims 4 and 11, Chen discloses, wherein the identifying the difference between the graph representation of the submitted solution and the graph representation of the selected error-free solution further comprises assigning a score to the submitted solution [¶¶5-7 describe final score calculation].
In re claims 6 and 13, Chen discloses wherein the graph of the software source code is at least one of an Abstract Syntax Tree (AST), a Control Flow Graph (CFG), a Program Dependence Graph (PDG), and a Code Property Graphs (CPG) [Fig. 3, ¶23 describe lexical analysis and syntax analysis are performed on the student program through the lexical analyzer and the syntax analyzer in turn, and the abstract syntax tree is constructed, and the abstract syntax tree is used as the input to construct the control dependency graph].
In re claim 9, Chen discloses the submitted solution is a computer source code [¶¶4,5].
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.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR § 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. § 102(b)(2)(C) for any potential 35 U.S.C. § 102(a)(2) prior art against the later invention.
Claims 3 and 10 are rejected under 35 U.S.C. § 103 as being unpatentable over Chen in view of Publication “Pruning the AST with Hunks to Speed up Tree Differencing” by Yang et al. (“Yang”).
In re claims 3 and 10, Chen discloses selecting the graph representation of the selected error- free solution. Chen lacks, but Yang teaches using a thinning algorithm with graph representations [Section II A. Outline of approach and Fig. 1].
Chen and Masterworks are both considered to be analogous to the claimed invention because they are in the same field of graph evaluation. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system and method of Chen to include graph pruning (i.e., thinning), as taught by Yang, in order to improve efficiency of analysis, for example, reducing average runtime by reducing complexity of graphs (AST) for comparison improved user analysis of results, for example, identifying the strength of correlation between two answers (See Section I Introduction).
Claims 5 and 12 are rejected under 35 U.S.C. § 103 as being unpatentable over Chen in view of Publication “What is Inverse Correlation? Definition & Examples” by Masterworks (“Masterworks”).
In re claims 5 and 12, Chen teaches a score with distance as a measure of the number of differences between the graphs of the submitted solution and the selected error-free solution but lacks but an inverse correlation for scoring. Masterworks teaches calculating the inverse correlation for scoring [See calculating and graphing Inverse correlation].
Chen and Masterworks are both considered to be analogous to the claimed invention because they are in the same field of graph evaluation. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system and method of Chen to include scoring with inverse correlation, as taught by Masterworks, in order to provide improved user analysis of results, for example, identifying the strength of correlation between two answers.
Claims 7 and 15 are rejected under 35 U.S.C. § 103 as being unpatentable over Chen in view of Publication “A Model for Identifying Frequent Errors in Incorrect Solutions” by Kawabayashi et al. (“Kawabayashi”).
In re claims 7 and 15, Chen discloses identifying the difference between the graph representations of the submitted solution and the graph representation of the selected error-free solution but lacks classifying errors based on prior classification of errors using at least one of a machine learning artificial intelligence (Al) system and an expert Al system. Kawabayashi teaches classifying errors based on prior classification of errors using at least one of a machine learning artificial intelligence (Al) system and an expert Al system [See, Introduction and Section C. The K-Means Clustering Algorithm and k Value Selection among others].
Chen and Kawabayashi are both considered to be analogous to the claimed invention because they are in the same field of code analysis. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system and method of Chen to include machine learned classifying of coding errors, as taught by Kawabayashi, in order to provide improved user experience and debugging code, for example, by relieve burden on student and teacher by making it easier to identify errors in coding (See introduction and conclusion).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure and is listed on the attached Notice of References Cited.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Andrew Bodendorf whose telephone number is (571) 272-6152. The examiner can normally be reached M-F 9AM-5PM 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, Xuan Thai can be reached on (571) 272-7147. 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.
/ANDREW BODENDORF/Examiner, Art Unit 3715
/XUAN M THAI/Supervisory Patent Examiner, Art Unit 3715