Prosecution Insights
Last updated: April 19, 2026
Application No. 17/477,161

COGNITIVE PROGRAMMING PARADIGM ASSISTANT

Non-Final OA §101§103§112
Filed
Sep 16, 2021
Examiner
BREEN, JAKE TIMOTHY
Art Unit
2143
Tech Center
2100 — Computer Architecture & Software
Assignee
International Business Machines Corporation
OA Round
3 (Non-Final)
70%
Grant Probability
Favorable
3-4
OA Rounds
3y 11m
To Grant
99%
With Interview

Examiner Intelligence

Grants 70% — above average
70%
Career Allow Rate
7 granted / 10 resolved
+15.0% vs TC avg
Strong +75% interview lift
Without
With
+75.0%
Interview Lift
resolved cases with interview
Typical timeline
3y 11m
Avg Prosecution
24 currently pending
Career history
34
Total Applications
across all art units

Statute-Specific Performance

§101
30.5%
-9.5% vs TC avg
§103
35.2%
-4.8% vs TC avg
§102
8.7%
-31.3% vs TC avg
§112
25.2%
-14.8% vs TC avg
Black line = Tech Center average estimate • Based on career data from 10 resolved cases

Office Action

§101 §103 §112
DETAILED ACTION This action is in response to the filing on 06/11/2025. Claims 1-20, are pending and have been considered below. 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 . Drawings The drawings are objected to as failing to comply with 37 CFR 1.84(p)(4) because reference character “100” has been used to designate both AI system in FIG. 1 and Information Handling System Processor and Components in FIG. 2. The drawings are objected to as failing to comply with 37 CFR 1.84(p)(5) because they do not include the following reference signs mentioned in the description: information handling system 200 — [0029], line 1. Trusted Platform Module (TPM) 295 — [0030], line 16 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. 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. Specification The disclosure is objected to because of the following informalities: [0008], lines 1-2 recites "used discover, mine, and map metadata', should recite -- used to discover, mine, and map metadata --. [0010], lines 2-3 recites “take following ameliorative actions”, recite -- take the following ameliorative actions --. [0023], line 1 recites “Real-time monitoring user's usage programming categories and”, should recite -- Real-time monitoring of user's usage of programming categories and --, and remove the extra whitespace between words. [0031], line 4 recites “Universal Serial Bus (USB) the PCI Express bus”, should recite -- Universal Serial Bus (USB) and the PCI Express bus --. [0036], lines 1-2 recites "used discover, mine, and map metadata', should recite -- used to discover, mine, and map metadata --. [0037], last line recites “being used to the model used by AI system”, should recite -- being used to train the model used by AI system --. Appropriate correction is required. Claim Objections Claim 5 objected to because of the following informalities: Claim 5, line 3 recites “further comprising”, should recite -- comprising --. Appropriate correction is required. 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 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 recites the limitation “ingesting a plurality of sets of metadata into an artificial intelligence (AI) system utilizing a model trained to recognize a plurality of programming categories” on lines 3-4, it is grammatically uninterpretable. For the purpose of examination, it will be interpreted as “an artificial intelligence (AI) system, utilizing a model trained to recognize a plurality of programming categories, ingesting a plurality of sets of metadata”. Claim 1 recites the limitation "the sets of metadata comprising an internal ranking for a plurality of intents created for a particular problem domain area based on the plurality of ranking data" in lines 9-10. There is insufficient antecedent basis for this limitation in the claim. For the purpose of examination, it will be interpreted as "the sets of metadata, wherein the sets of metadata comprise an internal ranking for a plurality of intents created for a particular problem domain area based on the plurality of ranking data". Claim 4 recites the limitation “generating the internal ranking of one or more programming categories associated with each of the plurality of programming languages” on lines 2-3, it is unclear how the internal ranking is both "an internal ranking for a plurality of intents created for a particular problem domain area based on the plurality of ranking data" as recited in claim 1 and "the internal ranking of one or more programming categories associated with each of the plurality of programming languages" per claim 4. For the purpose of examination, it will be interpreted as "an internal ranking for a plurality of intents created for a particular problem area based on the plurality of ranking data, or an internal ranking of one or more programming categories associated with each of the plurality of programming languages". Claim 8 recites the limitation “ingesting a plurality of sets of metadata into an artificial intelligence (AI) system utilizing a model trained to recognize a plurality of programming categories” on lines 6-8, it is grammatically uninterpretable. For the purpose of examination, it will be interpreted as “an artificial intelligence (AI) system, utilizing a model trained to recognize a plurality of programming categories, ingesting a plurality of sets of metadata”. Claim 8 recites the limitation "the sets of metadata comprising an internal ranking for a plurality of intents created for a particular problem domain area based on the plurality of ranking data" in lines 12-14. There is insufficient antecedent basis for this limitation in the claim. For the purpose of examination, it will be interpreted as "the sets of metadata, wherein the sets of metadata comprise an internal ranking for a plurality of intents created for a particular problem domain area based on the plurality of ranking data". Claim 9 recites the limitation "one or more of the programming categories of the plurality of programming categories" in lines 8-9. There is insufficient antecedent basis for this limitation in the claim. Claim 12 recites the limitation “generating the internal ranking of one or more programming categories associated with each of the plurality of programming languages” on lines 3-4, it is unclear how the internal ranking is both "an internal ranking for a plurality of intents created for a particular problem domain area based on the plurality of ranking data" as recited in claim 8 and "the internal ranking of one or more programming categories associated with each of the plurality of programming languages" per claim 11. For the purpose of examination, it will be interpreted as "an internal ranking for a plurality of intents created for a particular problem area based on the plurality of ranking data, or an internal ranking of one or more programming categories associated with each of the plurality of programming languages". Claim 12 recites the limitation “the ranking wherein the actions further comprise:” on lines 3-4, it is unclear how the ranking relates to the actions further comprising. For the purpose of examination, it will be interpreted as "wherein the ranking the one or more recommended programming languages comprises". Claim 15 recites the limitation “ingesting a plurality of sets of metadata into an artificial intelligence (AI) system utilizing a model trained to recognize a plurality of programming categories” on lines 4-6, it is grammatically uninterpretable. For the purpose of examination, it will be interpreted as “an artificial intelligence (AI) system, utilizing a model trained to recognize a plurality of programming categories, ingesting a plurality of sets of metadata”. Claim 15 recites the limitation "the sets of metadata comprising an internal ranking for a plurality of intents created for a particular problem domain area based on the plurality of ranking data" in lines 10-12. There is insufficient antecedent basis for this limitation in the claim. For the purpose of examination, it will be interpreted as "the sets of metadata, wherein the sets of metadata comprise an internal ranking for a plurality of intents created for a particular problem domain area based on the plurality of ranking data". Claim 16 recites the limitation " one or more of the programming categories of the plurality of programming categories" in lines 8-9. There is insufficient antecedent basis for this limitation in the claim. Claim 18 recites the limitation “generating the internal ranking of one or more programming categories associated with each of the plurality of programming languages” on lines 3-4, it is unclear how the internal ranking is both "an internal ranking for a plurality of intents created for a particular problem domain area based on the plurality of ranking data" as recited in claim 15 and "the internal ranking of one or more programming categories associated with each of the plurality of programming languages" per claim 18. For the purpose of examination, it will be interpreted as "an internal ranking for a plurality of intents created for a particular problem area based on the plurality of ranking data, or an internal ranking of one or more programming categories associated with each of the plurality of programming languages". Claim 19 recites the limitation “the ranking wherein the actions further comprise:” on lines 3-4, it is unclear how the ranking relates to the actions further comprising. For the purpose of examination, it will be interpreted as "wherein the ranking the one or more recommended programming languages comprises". Claims 2-3, 5-7, 10, 13-14, 17, and 20 are also rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre‐AIA ), second paragraph, as being indefinite for depending upon an indefinite parent 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 is directed to an abstract idea without significantly more. Independent Claims 1, 8, and 15 Step 1: Claims 1, 8, and 15 recite a method, a system, and a manufacture; therefore, they are directed to one of the four categories of statutory subject matter (process/method, machine/product/apparatus, manufacture, or composition of matter). Step 2A Prong 1: Claims 1, 8, and 15 recite a method, system, and manufacture comprising: a model trained to recognize a plurality of programming categories — Under its broadest reasonable interpretation, this limitation encompasses the abstract idea of a mental process, or a concept that can be performed in the human mind with the use of a physical aid (e.g. pen and paper), including observation, evaluation, judgement or opinion (see MPEP § 2106.04(a)(2)(III)). wherein the trained model is derived from mapping the plurality of programming categories to the sets of metadata comprising an internal ranking for a plurality of intents created for a particular problem domain area based on the plurality of ranking data — Under its broadest reasonable interpretation, this limitation encompasses the abstract idea of a mental process, or a concept that can be performed in the human mind with the use of a physical aid (e.g. pen and paper), including observation, evaluation, judgement or opinion (see MPEP § 2106.04(a)(2)(III)). Or a mathematical concept (see MPEP § 2106.04(a)(2)(I)), specifically organizing information and manipulating information through mathematical correlations. wherein the internal ranking indicates a level of performance of the plurality of programming languages to handle each of the plurality of programming categories — Under its broadest reasonable interpretation, this limitation encompasses the abstract idea of a mental process, or a concept that can be performed in the human mind with the use of a physical aid (e.g. pen and paper), including observation, evaluation, judgement or opinion (see MPEP § 2106.04(a)(2)(III)). Or a mathematical concept (see MPEP § 2106.04(a)(2)(I)), specifically organizing information and manipulating information through mathematical correlations. one or more recommended programming languages based on a comparison of a first set of programming categories found in the block of programming code and the sets of metadata corresponding to the one or more recommended programming languages— Under its broadest reasonable interpretation, this limitation encompasses the abstract idea of a mental process, or a concept that can be performed in the human mind with the use of a physical aid (e.g. pen and paper), including observation, evaluation, judgement or opinion (see MPEP § 2106.04(a)(2)(III)). Or a mathematical concept (see MPEP § 2106.04(a)(2)(I)), specifically organizing information and manipulating information through mathematical correlations. Step 2A Prong 2: This judicial exception is not integrated into a practical application. Claim 1 recites the additional elements of: a computer-implemented method, implemented by an information handling system that includes a processor and a memory, the method comprising — This element amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). This element merely limits the use of the abstract idea to a generic computer. ingesting a plurality of sets of metadata into an artificial intelligence (AI) system utilizing a model trained to recognize a plurality of programming categories, wherein each of the sets of metadata corresponds to one of a plurality of computer programming languages, and wherein the ingested sets of metadata and a plurality of ranking data are stored in a corpus accessible by the AI system — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see Cremeans et al. (US 2019/0317743 A1) FIG. 1-2). inputting, to the AI system utilizing the trained model, a block of programming code that includes a plurality of computer instructions written in a first computer programming language — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see Cremeans et al. (US 2019/0317743 A1) FIG. 1-2). receiving, from the AI system — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(II), receiving or transmitting data over a network). Claim 8 recites the additional elements of: an information handling system comprising — This element amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). This element merely limits the use of the abstract idea to a generic computer. one or more processors — This element amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). This element merely limits the use of the abstract idea to generic computer components. a memory coupled to at least one of the processors — This element amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). This element merely limits the use of the abstract idea to generic computer components. a set of computer program instructions stored in the memory and executed by at least one of the processors in order to perform actions comprising — This element amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). This element merely limits the use of the abstract idea to generic computer components. ingesting a plurality of sets of metadata into an artificial intelligence (AI) system, wherein each of the sets of metadata corresponds to one of a plurality of computer programming languages, and wherein the ingested sets of metadata are stored in a corpus accessible by the AI system — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see Cremeans et al. (US 2019/0317743 A1) FIG. 1-2). inputting, to the AI system utilizing the trained model, a block of programming code that includes a plurality of computer instructions written in a first computer programming language — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see Cremeans et al. (US 2019/0317743 A1) FIG. 1-2). receiving, from the AI system — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(II), receiving or transmitting data over a network). Claim 15 recites the additional elements of: a computer program product stored in a computer readable storage medium, comprising computer program code that, when executed by an information handling system, performs actions comprising — This element amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). This element merely limits the use of the abstract idea to generic computer components. ingesting a plurality of sets of metadata into an artificial intelligence (AI) system, wherein each of the sets of metadata corresponds to one of a plurality of computer programming languages, and wherein the ingested sets of metadata are stored in a corpus accessible by the AI system — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see Cremeans et al. (US 2019/0317743 A1) FIG. 1-2). inputting, to the AI system utilizing the trained model, a block of programming code that includes a plurality of computer instructions written in a first computer programming language — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see Cremeans et al. (US 2019/0317743 A1) FIG. 1-2). receiving, from the AI system — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(II), receiving or transmitting data over a network). Step 2B: The claims do not contain significantly more than the judicial exception. Claim 1 recites the additional elements of: a computer-implemented method, implemented by an information handling system that includes a processor and a memory, the method comprising — This element amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). This element merely limits the use of the abstract idea to a generic computer. ingesting a plurality of sets of metadata into an artificial intelligence (AI) system, wherein each of the sets of metadata corresponds to one of a plurality of computer programming languages, and wherein the ingested sets of metadata and a plurality of ranking data are stored in a corpus accessible by the AI system — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see Cremeans et al. (US 2019/0317743 A1) FIG. 1-2). inputting, to the AI system utilizing the trained model, a block of programming code that includes a plurality of computer instructions written in a first computer programming language — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see Cremeans et al. (US 2019/0317743 A1) FIG. 1-2). receiving, from the AI system — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(II), receiving or transmitting data over a network). Claim 8 recites the additional elements of: an information handling system comprising — This element amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). This element merely limits the use of the abstract idea to a generic computer. one or more processors — This element amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). This element merely limits the use of the abstract idea to generic computer components. a memory coupled to at least one of the processors — This element amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). This element merely limits the use of the abstract idea to generic computer components. a set of computer program instructions stored in the memory and executed by at least one of the processors in order to perform actions comprising — This element amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). This element merely limits the use of the abstract idea to generic computer components. ingesting a plurality of sets of metadata into an artificial intelligence (AI) system, wherein each of the sets of metadata corresponds to one of a plurality of computer programming languages, and wherein the ingested sets of metadata are stored in a corpus accessible by the AI system — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see Cremeans et al. (US 2019/0317743 A1) FIG. 1-2). inputting, to the AI system utilizing the trained model, a block of programming code that includes a plurality of computer instructions written in a first computer programming language — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see Cremeans et al. (US 2019/0317743 A1) FIG. 1-2). receiving, from the AI system — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(II), receiving or transmitting data over a network). Claim 15 recites the additional elements of: a computer program product stored in a computer readable storage medium, comprising computer program code that, when executed by an information handling system, performs actions comprising — This element amounts to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). This element merely limits the use of the abstract idea to generic computer components. ingesting a plurality of sets of metadata into an artificial intelligence (AI) system, wherein each of the sets of metadata corresponds to one of a plurality of computer programming languages, and wherein the ingested sets of metadata are stored in a corpus accessible by the AI system — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see Cremeans et al. (US 2019/0317743 A1) FIG. 1-2). inputting, to the AI system utilizing the trained model, a block of programming code that includes a plurality of computer instructions written in a first computer programming language — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see Cremeans et al. (US 2019/0317743 A1) FIG. 1-2). receiving, from the AI system — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(II), receiving or transmitting data over a network). As such claims 1, 8, and 15 are not patent eligible. Dependent Claims 2-7, 9-14, and 16-20 Step 1: Claims 2-7, 9-14, and 16-20 recite a method, system, and manufacture; therefore, they are directed to one of the four categories of statutory subject matter (process/method, machine/product/apparatus, manufacture, or composition of matter). Step 2A Prong 1: Claims 2-7, 9-14, and 16-20 merely narrow the previously cited abstract idea limitations. For the reasons described above with respect to independent claims 1, 8, and 15 this judicial exception is not meaningfully integrated into a practical application, or significantly more than the abstract idea. The claims disclose similar limitations described for the independent claims above and do not provide anything more than the abstract idea. Claims 2, 9, and 16 recite a method, system, and manufacture comprising: wherein the ingesting further comprising: selecting one of the plurality of programming languages — Under its broadest reasonable interpretation, this limitation encompasses the abstract idea of a mental process, or a concept that can be performed in the human mind with the use of a physical aid (e.g. pen and paper), including observation, evaluation, judgement or opinion (see MPEP § 2106.04(a)(2)(III)). Claims 4, 11, and 18 recite a method, system, and manufacture comprising: generating the internal ranking of one or more programming categories associated with each of the plurality of programming languages, wherein the internal ranking identifies a relative strength of the respective programming languages with regard to each of the one or more associated programming categories — Under its broadest reasonable interpretation, this limitation encompasses the abstract idea of a mental process, or a concept that can be performed in the human mind with the use of a physical aid (e.g. pen and paper), including observation, evaluation, judgement or opinion (see MPEP § 2106.04(a)(2)(III)). Or a mathematical concept (see MPEP § 2106.04(a)(2)(I)), specifically organizing information and manipulating information through mathematical correlations. further comparing the internal ranking of the programming categories associated with each of the plurality of programming languages with the first set of programming categories found in the block of programming code, the comparing resulting in the one or more recommended programming languages — Under its broadest reasonable interpretation, this limitation encompasses the abstract idea of a mental process, or a concept that can be performed in the human mind with the use of a physical aid (e.g. pen and paper), including observation, evaluation, judgement or opinion (see MPEP § 2106.04(a)(2)(III)). Claims 5, 12, and 19 recite a method, system, and manufacture comprising: ranking the one or more recommended programming languages, the ranking further comprising — Under its broadest reasonable interpretation, this limitation encompasses the abstract idea of a mental process, or a concept that can be performed in the human mind with the use of a physical aid (e.g. pen and paper), including observation, evaluation, judgement or opinion (see MPEP § 2106.04(a)(2)(III)). Or a mathematical concept (see MPEP § 2106.04(a)(2)(I)), specifically organizing information and manipulating information through mathematical correlations. identifying a size of the plurality of computer instructions in the block of programming code associated with each of the first set of programming categories — Under its broadest reasonable interpretation, this limitation encompasses the abstract idea of a mental process, or a concept that can be performed in the human mind with the use of a physical aid (e.g. pen and paper), including observation, evaluation, judgement or opinion (see MPEP § 2106.04(a)(2)(III)). Or a mathematical concept (see MPEP § 2106.04(a)(2)(I)), specifically organizing information and manipulating information through mathematical correlations. ranking the first set of programming categories based on the size identified for each of the first set of programming categories, the ranking resulting in a ranked first set of programming categories, wherein the comparing further compares the ranked first set of programming categories with the internal ranking of the programming categories associated with each of the plurality of programming languages — Under its broadest reasonable interpretation, this limitation encompasses the abstract idea of a mental process, or a concept that can be performed in the human mind with the use of a physical aid (e.g. pen and paper), including observation, evaluation, judgement or opinion (see MPEP § 2106.04(a)(2)(III)). Or a mathematical concept (see MPEP § 2106.04(a)(2)(I)), specifically organizing information and manipulating information through mathematical correlations. Step 2A Prong 2: This judicial exception is not integrated into a practical application. Claims 2, 9, and 16 recite the additional elements of: retrieving a set of online documentation corresponding to the selected programming language — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(II), receiving or transmitting data over a network). mining the set of metadata corresponding to the selected programming language from the set of online documentation — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(iv), storing and retrieving information in memory). extracting one or more programming categories of the plurality of programming categories from the online documentation, wherein the programming categories are identified from intent-specific portions of the online documentation — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(iv), storing and retrieving information in memory). associating the extracted programming categories with the selected programming language in the corpus utilized by the Al system — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(iv), storing and retrieving information in memory). Claims 3, 10, and 17 recite the additional elements of: receiving a set of ground truth data associated with the selected programming language from a subject matter expert (SME) — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see Zodik et al. (US 6/785,683 B1) Col. 6, lines 10-27; FIG. 3). training the AI system with the associated extracted programming categories and the set of ground truth data — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(ii), performing repetitive calculations). Claims 6, 13, and 20 recite the additional elements of: outputting, from the Al system, a code analysis corresponding to the block of programming code, wherein the code analysis includes a ranked list of the first set of programming categories found in the block of programming code — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see Zodik et al. (US 6/785,683 B1) Col. 6, lines 10-27; FIG. 3). providing the code analysis and the one or more recommended programming languages to a user associated with the block of programming code — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(iv), storing and retrieving information in memory). Claims 7 and 14 recite the additional element of: wherein at least one of the programming categories is selected from the group consisting of iteration handling, reference handling, input-output handling, error exception handling, and filter-map-reduce handling — This element amounts to no more than insignificant extra-solution activity in the form of selecting a particular data source or type of data to be manipulated (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(iv), storing and retrieving information in memory). Step 2B: The claims do not contain significantly more than the judicial exception. Claims 2, 9, and 16 recite the additional elements of: retrieving a set of online documentation corresponding to the selected programming language — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(II), receiving or transmitting data over a network). mining the set of metadata corresponding to the selected programming language from the set of online documentation — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(iv), storing and retrieving information in memory). extracting one or more programming categories of the plurality of programming categories from the online documentation, wherein the programming categories are identified from intent-specific portions of the online documentation — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(iv), storing and retrieving information in memory). associating the extracted programming categories with the selected programming language in the corpus utilized by the Al system — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(iv), storing and retrieving information in memory). Claims 3, 10, and 17 recite the additional elements of: receiving a set of ground truth data associated with the selected programming language from a subject matter expert (SME) — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see Zodik et al. (US 6/785,683 B1) Col. 6, lines 10-27; FIG. 3). training the AI system with the associated extracted programming categories and the set of ground truth data — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(ii), performing repetitive calculations). Claims 6, 13, and 20 recite the additional elements of: outputting, from the Al system, a code analysis corresponding to the block of programming code, wherein the code analysis includes a ranked list of the first set of programming categories found in the block of programming code — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see Zodik et al. (US 6/785,683 B1) Col. 6, lines 10-27; FIG. 3). providing the code analysis and the one or more recommended programming languages to a user associated with the block of programming code — This element amounts to no more than insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(iv), storing and retrieving information in memory). Claims 7 and 14 recite the additional element of: wherein at least one of the programming categories is selected from the group consisting of iteration handling, reference handling, input-output handling, error exception handling, and filter-map-reduce handling — This element amounts to no more than insignificant extra-solution activity in the form of selecting a particular data source or type of data to be manipulated (see MPEP § 2106.05(g)), and is well-understood, routine, conventional activity (see MPEP § 2106.05(d)(iv), storing and retrieving information in memory). As such claims 2-7, 9-14, and 16-20 are not patent eligible. Claim Rejections - 35 USC § 103 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 (i.e., changing from AIA to pre-AIA ) 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 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. Claims 1-5, 8-12, and 15-19 are rejected under 35 U.S.C. 103 as being unpatentable over Priel et al. (US 2016/0266874 A1, first cited in the office action mailed 03/19/2025), hereinafter Priel, in view of Cremeans et al. (US 2019/0317743 A1, first cited in the office action mailed 03/19/2025), hereinafter Cremeans, and further in view of Drissi et al. (US 2005/0223354 A1, first cited in the PTO 892 mailed 03/19/2025), hereinafter Drissi. Regarding claim 1, Priel teaches a computer-implemented method, implemented by an information handling system that includes a processor and a memory, the method comprising (FIG. 2 shows a suitable example of the server 106 in which a processor 202 is coupled to a non-transitory, computer-readable storage device 204. Input and output devices 214 may also be included and coupled to the processor. The non-transitory, computer-readable storage device 204 may be implemented as volatile storage (e.g., random access memory), non-volatile storage (e.g., hard disk drive, optical storage, solid-state storage, etc.) or combinations of various types of volatile and/or non-volatile storage. As shown in FIG. 2, the non-transitory, computer-readable storage device 204 includes an input reception module 206, a knowledge base 108, a knowledge basis analysis module 210, and a technology recommendation module 212. Each module of FIG. 2 may be executed by the processor 202 to implement the functionality described herein attributed to the server 106. The functions to be implemented by executing the modules 206, 210 and 212 will be described with reference to the flow diagrams of FIG. 6. [para. 17—para. 18; FIG. 2]): a corpus accessible by the system (The knowledge base 108 may include any suitable type of online library, forums, or database, which may continuously update the latest technologies associated with software application development, and/or may be manually updated by the users or developers. [para. 15; FIG. 1]); receiving, from the system, one or more recommended programming languages (The method 600 continues at 606 with executing the technology recommendation module 212 to provide the technology recommendation to the client device 102. In some embodiments, the technology recommendation may include a software framework, a software development language, a software protocol, and a software platform [para. 30]) based on a comparison (At 604, by executing the knowledge basis analysis module 210, the server 106 analyzes the input transmitted from the client device 102 by searching against the knowledge base 108 to generate a technology recommendation. [para. 29]). However, Priel fails to teach ingesting a plurality of sets of metadata into an artificial intelligence (AI) system utilizing a model trained to recognize a plurality of programming categories, wherein each of the sets of metadata corresponds to one of a plurality of computer programming languages, and wherein the ingested sets of metadata and a plurality of ranking data are stored in a corpus accessible by the AI system; wherein the trained model is derived from mapping the plurality of programming categories to the sets of metadata comprising an internal ranking for a plurality of intents created for a particular problem domain area based on the plurality of ranking data and wherein the internal ranking indicates a level of performance of the plurality of programming languages to handle each of the plurality of programming categories; inputting, to the AI system utilizing the trained model, a block of programming code that includes a plurality of computer instructions written in a first computer programming language; receiving, from the AI system, based on a comparison of a first set of programming categories found in the block of programming code and the sets of metadata corresponding to the one or more recommended programming languages. In the same field of endeavor, Cremeans teaches: ingesting a plurality of sets of metadata into an artificial intelligence (AI) system utilizing a model trained to recognize a plurality of programming categories (FIG. 1 is a schematic illustration of an example system 100 to categorize source code blocks and automatically generate source code in accordance with the teachings of this disclosure. The system 100 includes an example code block classifier 102, an example automatic code generator 104, and one or more example code repositories 106. The code repositories may be, for example, community, institutional or other types of repositories that include a plurality of source code blocks. [para. 18; FIG. 1]; The code repository accessor 108 accesses one or more of the code repositories 106 and crawls or searches through the code repository 106 to obtain a source code block for analysis and categorization. [para. 20]), wherein each of the sets of metadata corresponds to one of a plurality of computer programming languages (In some examples the syntax matcher 112 analyzes the source code block selected by the code repository accessor 108 and categorizes the source code block based on the syntax of the source code block. In some examples, the syntax matcher 112 categorizes the source code block based on other elements of the language, punctuation, and/or indentation patterns of the text of the source code block. [para. 21]; The tokenizer 118 decomposes or transforms the source code block selected by the code repository accessor 108 into tokens. The tokens are the individual elements of the source code block and can be words, keywords, phrases, symbols, and/or other elements. Keyword tokens are words whose meaning are already defined by the programming language. The tokens may be used to parse the signatures. The tokens also facilitate detection of the language of the source code block. [para. 26]), and wherein the ingested sets of metadata are stored in a corpus accessible by the AI system (The catalog 128 may be used to store the source code block with the categorization tags of the function, input, and output, and/or other data for use by the code block classifier 102. In some examples, prior categorizations and details of the analysis of the syntax matcher 112, signature generator 112, collateral miner 116, tokenizer 118, input/output determiner 120, and/or function assessor 122 are stored in the catalog 128 for use in machine learning applications to facilitate subsequent and/or automated categorization of source code blocks. [para. 28; FIG. 1]); wherein the trained model is derived from mapping the plurality of programming categories to the sets of metadata (The code block classifier 102 also categorizes the source code block based on the function of the source code block. The function of a source code block is a property of the source code block that describes what action or work is performed by the source code block on an input to produce an output. Several properties can be used, in some examples, to determine function, input, and/or output including, for example a signature of the source code block, collateral of the source code block, and tokens generated from the source code block. [para. 22]; The volume of source code blocks stored in the code repositories 106 can be very high. In some examples, the machine learning module 130 facilitates the classification of the source code blocks in view of the large volumes of data. The machine learning module 130 applies artificial intelligence processes. Artificial intelligence, including machine learning, deep learning, and/or other artificial machine-driven logic, enables machines (e.g., computers, logic circuits, etc.) to use a model to process input data to generate an output based on patterns and/or associations previously learned by the model via a training process. For example, the model may be trained with data to recognize patterns and/or associations and follow such patterns and/or associations when processing input data such that other input(s) result in output(s) consistent with the recognized patterns and/or associations. [para. 29]); inputting, to the AI system utilizing the trained model, a block of programming code that includes a plurality of computer instructions written in a first computer programming language (FIG. 1 is a schematic illustration of an example system 100 to categorize source code blocks and automatically generate source code in accordance with the teachings of this disclosure. The system 100 includes an example code block classifier 102, an example automatic code generator 104, and one or more example code repositories 106. The code repositories may be, for example, community, institutional or other types of repositories that include a plurality of source code blocks. [para. 18; FIG. 1]; The code repository accessor 108 accesses one or more of the code repositories 106 and crawls or searches through the code repository 106 to obtain a source code block for analysis and categorization. [para. 20]); receiving, from the AI system (the system 100 includes the automatic code generator 104 that searches the catalog 128 to automatic generate or identify source code blocks to insert into a source code created by the programmer to satisfy an intent of the programmer. [para. 38]), based on a comparison of a first set of programming categories found in the block of programming code and the metadata corresponding to the one or more recommended programming languages (The intent can be inferred by parsing input of a programmer to detect what the programmer wants to occur. For example, in a mapping function, the intent can be inferred to scale or overlay portions of a map. In some examples, intent is automatically determined using machine learning, based on a device environment, etc. For example, in an automobile, intent to tune a device in the engine can be determined based on measurements obtain from the automobile. In another example, data related to the location of a mobile phone may automatically trigger intent to perform a task. In another example, intent to analyze an image may be automatically determined from an input of video data. In another example, an autonomous system, which acts as the programmer, specifies the intent the autonomous system wants to satisfy. The intent analyzer 152 identifies a function that can accomplish or satisfy the intent. For example, the intent analyzer 152 analyzes the intent and identifies a desired function. The desired function is the work or operations to perform on the input to deliver output that will satisfy the intent. The code searcher 154 is communicatively coupled to the catalog 128. The code searcher 154 searches the tagged source code blocks in the catalog 128 to match input, output, and function with the input, output, and desired function identified from the intent. The code searcher 154 identifies a candidate source code block to fulfill the intent. [para. 39—para. 41]; The catalog 128 may be used to store the source code block with the categorization tags of the function, input, and output, and/or other data for use by the code block classifier 102. [para. 28]; The programming language metadata would include the different source codes categorized that are written in each programming language). It would have been obvious to one of ordinary skill, in the art at the time before the effective filing date of the invention to incorporate ingesting a plurality of sets of metadata into an artificial intelligence (AI) system utilizing a model trained to recognize a plurality of programming categories, wherein each of the sets of metadata corresponds to one of a plurality of computer programming languages, and wherein the ingested sets of metadata are stored in a corpus accessible by the AI system, inputting, to the AI system utilizing the trained model, a block of programming code that includes a plurality of computer instructions written in a first computer programming language, and receiving, from the AI system, based on a comparison of a first set of programming categories found in the block of programming code and the metadata corresponding to the one or more recommended programming languages as suggested in Cremeans into Priel because both systems provide aid to users in developing software (see Priel, para. 10; see Cremeans, para. 12). Incorporating the teaching of Cremeans into Priel would leverage code repositories, including community or institutional repositories, and associated development collateral as a resource for machine programming (see Cremeans, para. 11) and leverage the repository of source code blocks to autonomously solve problems (see Cremeans, para. 12). However, the combination of Priel and Cremeans fails to teach a plurality of ranking data; and the sets of metadata comprising an internal ranking for a plurality of intents created for a particular problem domain area based on the plurality of ranking data and wherein the internal ranking indicates a level of performance of the plurality of programming languages to handle each of the plurality of programming categories. In the same field of endeavor, Drissi teaches: a plurality of ranking data (Drissi discloses meta data that includes a ranking for a plurality of code patterns including programming languages [see Drissi, para. 36–37]); metadata comprising an internal ranking for a plurality of intents created for a particular problem domain area based on the plurality of ranking data and wherein the internal ranking indicates a level of performance of the plurality of programming code (Drissi discloses metadata ranking code patterns classified by their programming languages that may be ranked on performance metrics [see Drissi, para. 36–37]). It would have been obvious to one of ordinary skill, in the art at the time before the effective filing date of the invention to incorporate a plurality of ranking data and metadata comprising an internal ranking for a plurality of intents created for a particular problem domain area based on the plurality of ranking data and wherein the internal ranking indicates a level of performance of the plurality of programming code as suggested in Drissi into the combination of Priel and Cremeans to teach a plurality of ranking data and the sets of metadata comprising an internal ranking for a plurality of intents created for a particular problem domain area based on the plurality of ranking data and wherein the internal ranking indicates a level of performance of the plurality of programming languages to handle each of the plurality of programming categories because Cremeans discloses ingesting sets of metadata which includes code categories [see Cremeans, para. 28], while Drissi discloses metadata ranking code patterns including programming languages that may have different performance metrics [see Drissi, para. 36–37]. Thus, it would be obvious to rank the code categories using a ranking system similar to the ranking set forth by Drissi to arrive at a ranking which ranks programming languages based on performance in code categories. It would have been obvious to one of ordinary skill, in the art at the time before the effective filing date of the invention to incorporate the teachings of Drissi into the combination of Priel and Cremeans both systems provide aid to users in developing software (see Priel, para. 10; see Drissi para. 5—para. 6). Incorporating the teaching of Drissi into the combination of Priel and Cremeans would detect software development best practice violations (see Drissi, para. 5—para. 6). Regarding claim 2, the combination of Priel, Cremeans, and Drissi teaches all the limitations of claim 1 and further teaches: wherein the ingesting further comprising: selecting one of the plurality of programming languages (In some examples the syntax matcher 112 analyzes the source code block selected by the code repository accessor 108 and categorizes the source code block based on the syntax of the source code block. In some examples, the syntax matcher 112 categorizes the source code block based on other elements of the language, punctuation, and/or indentation patterns of the text of the source code block. [see Cremeans, para. 21]; The tokenizer 118 decomposes or transforms the source code block selected by the code repository accessor 108 into tokens. The tokens are the individual elements of the source code block and can be words, keywords, phrases, symbols, and/or other elements. Keyword tokens are words whose meaning are already defined by the programming language. The tokens may be used to parse the signatures. The tokens also facilitate detection of the language of the source code block. [see Cremeans, para. 26]; A source code written in a programming language is selected, the programming language of the source code is detected, thus a programming language is selected); retrieving a set of online documentation corresponding to the selected programming language (To advance machine programming from strictly human-generated code, different models and/or templates can be used in an integrated development environment (IDE) or other automated systems that access libraries, catalogs, or repositories of code such as, for example, GitHub®. The models can retrieve different code blocks from the repositories to combine with human-generated code, machine-retrieved code, or machine-generated code. Throughout this disclosure the terms code and source code are used interchangeably. [see Cremeans, para. 9]; Disclosed herein are example systems, apparatus, articles or manufacture, and methods that leverage code repositories, including community or institutional repositories, and associated development collateral as a resource for machine programming. Code repositories include source code blocks that are mostly functional that have defined functions with limited side effects. The source code blocks also have collateral that define the expected behavior, input, and output of such functions. In some examples, the collateral includes tests and documentation including, for example, unit tests, functional tests, asserts, documents, docstrings, comments, etc. [see Cremeans para. 11]; As understood in this disclosure, “collateral” are software development artifacts that reference the source code. Collateral includes API spec, unit tests, functional tests, asserts, comment blocks, documentation blocks, other maintained documentation, and/or other examples disclosed herein. [see Cremeans, para. 16]; The source code is retrieved from an online repository with corresponding documentation, documentation that corresponds to the source code written in the programming language); mining the set of metadata corresponding to the selected programming language from the set of online documentation (In some examples, the collateral miner 116 mines the source code blocks for a first type of collateral and a second type of collateral. In some examples, the collateral miner 116 mines the source code blocks for additional types of collateral. The example program 200 includes the collateral miner 118 mining the source code blocks to extract unit tests (block 218) and to extract documentation (block 220). [see Cremeans, para. 58]; In addition, the function assessor 122 determines the function of the source code block using the collateral and the tokens. In some examples, the collateral used by the input/output determiner 120 includes unit tests. In other examples, other collateral is used. Also, in some examples, the collateral used by the function assessor includes unit tests and documentation. In other examples, other collateral and/or combinations of collateral is used. [see Cremeans, para. 27]; To advance machine programming from strictly human-generated code, different models and/or templates can be used in an integrated development environment (IDE) or other automated systems that access libraries, catalogs, or repositories of code such as, for example, GitHub®. The models can retrieve different code blocks from the repositories to combine with human-generated code, machine-retrieved code, or machine-generated code. Throughout this disclosure the terms code and source code are used interchangeably. [see Cremeans, para. 9]; Disclosed herein are example systems, apparatus, articles or manufacture, and methods that leverage code repositories, including community or institutional repositories, and associated development collateral as a resource for machine programming. Code repositories include source code blocks that are mostly functional that have defined functions with limited side effects. The source code blocks also have collateral that define the expected behavior, input, and output of such functions. In some examples, the collateral includes tests and documentation including, for example, unit tests, functional tests, asserts, documents, docstrings, comments, etc. [see Cremeans, para. 11; As understood in this disclosure, “collateral” are software development artifacts that reference the source code. Collateral includes API spec, unit tests, functional tests, asserts, comment blocks, documentation blocks, other maintained documentation, and/or other examples disclosed herein. [see Cremeans, para. 16]; The source code is retrieved from an online repository with corresponding documentation, documentation that corresponds to the source code written in the programming language); extracting one or more programming categories of the plurality of programming categories from the online documentation, wherein the programming categories are identified from intent-specific portions of the online documentation (In addition, the function assessor 122 determines the function of the source code block using the collateral and the tokens. In some examples, the collateral used by the input/output determiner 120 includes unit tests. In other examples, other collateral is used. Also, in some examples, the collateral used by the function assessor includes unit tests and documentation. In other examples, other collateral and/or combinations of collateral is used. [see Cremeans, para. 27]; To advance machine programming from strictly human-generated code, different models and/or templates can be used in an integrated development environment (IDE) or other automated systems that access libraries, catalogs, or repositories of code such as, for example, GitHub®. The models can retrieve different code blocks from the repositories to combine with human-generated code, machine-retrieved code, or machine-generated code. Throughout this disclosure the terms code and source code are used interchangeably. [see Cremeans, para. 9]; Disclosed herein are example systems, apparatus, articles or manufacture, and methods that leverage code repositories, including community or institutional repositories, and associated development collateral as a resource for machine programming. Code repositories include source code blocks that are mostly functional that have defined functions with limited side effects. The source code blocks also have collateral that define the expected behavior, input, and output of such functions. In some examples, the collateral includes tests and documentation including, for example, unit tests, functional tests, asserts, documents, docstrings, comments, etc. [see Cremeans, para. 11]; As understood in this disclosure, “collateral” are software development artifacts that reference the source code. Collateral includes API spec, unit tests, functional tests, asserts, comment blocks, documentation blocks, other maintained documentation, and/or other examples disclosed herein. [see Cremeans, para. 16]; The source code is retrieved from an online repository with corresponding documentation, documentation that corresponds to the source code written in the programming language); associated the extracted programming categories with the selected programming language (In some examples the syntax matcher 112 analyzes the source code block selected by the code repository accessor 108 and categorizes the source code block based on the syntax of the source code block. In some examples, the syntax matcher 112 categorizes the source code block based on other elements of the language, punctuation, and/or indentation patterns of the text of the source code block. [see Cremeans, para. 21; The tokenizer 118 decomposes or transforms the source code block selected by the code repository accessor 108 into tokens. The tokens are the individual elements of the source code block and can be words, keywords, phrases, symbols, and/or other elements. Keyword tokens are words whose meaning are already defined by the programming language. The tokens may be used to parse the signatures. The tokens also facilitate detection of the language of the source code block. [see Cremeans, para. 26; FIG. 1]) in the corpus utilized by the AI system (The knowledge base 108 may include any suitable type of online library, forums, or database, which may continuously update the latest technologies associated with software application development, and/or may be manually updated by the users or developers. [see Priel, para. 16; FIG. 1]; The catalog 128 may be used to store the source code block with the categorization tags of the function, input, and output, and/or other data for use by the code block classifier 102. In some examples, prior categorizations and details of the analysis of the syntax matcher 112, signature generator 112, collateral miner 116, tokenizer 118, input/output determiner 120, and/or function assessor 122 are stored in the catalog 128 for use in machine learning applications to facilitate subsequent and/or automated categorization of source code blocks. [see Cremeans, para. 28; FIG. 1]; The extracted categories of the source code, including the detected programming language, are associated with each other and the categories are stored with the source code in the database). Regarding claim 3, the combination of Priel, Cremeans, and Drissi teaches all the limitations of claim 2 and further teaches: receiving a set of ground truth data associated with the selected programming language from a subject matter expert (SME) (As understood in this disclosure, “collateral” are software development artifacts that reference the source code. Collateral includes API spec, unit tests, functional tests, asserts, comment blocks, documentation blocks, other maintained documentation, and/or other examples disclosed herein. [see Cremeans, para. 16]; The collateral miner 116 extracts collateral from the source code block selected by the code repository accessor 108. [see Cremeans, para. 24]; The ground truth data is received in the form of collateral, the authors of the source code repositories are the SMEs providing the collateral, received from the selected source code which is written in the programming language); training the AI system with the associated extracted programming categories and the set of ground truth data (Training is performed using training data. In examples disclosed herein, the training data originates from the collateral. Also, in some examples, the training data incorporates combinations of collateral, the source code, and/or objects generated from the source code. Once training is complete, the model is deployed for use as an executable construct that processes an input and provides an output based on the network of nodes and connections defined in the model. In this example, the model recognizes patterns in the collateral and can automatically categorize a source code block based on the recognized patterns. The model is stored at the catalog 128. The model may then be executed by the machine learning module 130. [see Cremeans, para. 32]). Regarding claim 4, the combination of Priel, Cremeans, and Drissi teaches all the limitations of claim 1 and further teaches: generating the internal ranking of one or more programming categories associated with each of the plurality of programming languages, wherein the internal ranking identifies a relative strength of the respective programming languages with regard to each of the one or more associated programming categories (Drissi discloses generating metadata ranking code patterns including programming languages that may have different performance metrics [see Drissi, para. 36–37]); further comparing the internal ranking of the programming categories associated with each of the plurality of programming languages with the first set of programming categories found in the block of programming code, the comparing resulting in the one or more recommended programming languages (Priel discloses recommending a programming language by comparing the client input against the knowledge base [see Priel, para. 29–30], Cremeans discloses metadata storing programming categories, while Drissi discloses metadata ranking code patterns including programming languages that may have different performance metrics [see Drissi, para. 36–37]. Thus, it would be obvious to compare the programming category from clients input against the knowledge base which stores the ranking of programming languages for the plurality of programming categories to get the recommended programming language). Regarding claim 5, the combination of Priel, Cremeans, and Drissi and Drissi teaches all the limitations of claim 4 and further teaches: ranking the one or more recommended programming languages, the ranking further comprising (The knowledge base 108 may include any suitable type of online library, forums, or database, which may continuously update the latest technologies associated with software application development, and/or may be manually updated by the users or developers. [see Priel, para. 15; FIG. 1]; The catalog 128 may be used to store the source code block with the categorization tags of the function, input, and output, and/or other data for use by the code block classifier 102. In some examples, prior categorizations and details of the analysis of the syntax matcher 112, signature generator 112, collateral miner 116, tokenizer 118, input/output determiner 120, and/or function assessor 122 are stored in the catalog 128 for use in machine learning applications to facilitate subsequent and/or automated categorization of source code blocks. [see Cremeans, para. 28]; Analysis system 40 will then analyze each of the extracted code patterns, and generate meta data relating to the quality thereof. To this extent, the meta data for a particular code pattern can identify certain characteristics thereof such as: the programming language of the code pattern; a list of the most used classes and elements in the code pattern instances; a list of dependencies (such as libraries and imported packages) of the code pattern; a number and a type of objects created and used at run time by the code pattern, memory used of the code pattern, etc. These variables allow the quality the code patterns to be determined. Once the meta has been generated, classification and analysis system 42 will classify and rank the code patterns. For example, each code pattern could be classified according to its intended purpose, programming language, etc. Each classification/category of code patterns could also be assigned a group name. Classifying the code patterns is useful because, conceptually, the code patterns in the same category achieve the same results, but with varying levels of compliance to software best practices as well as different quality characteristics such as performance at run time and memory usage. Once classified, a rank or score is assigned to each code pattern based on at least three variables. Such variables include: (1) a skill level of the developer of the code pattern; (2) an experience level of the developer; and (3) a quality of the code pattern as set forth in the meta data (e.g., performance, memory usage, etc.). These variables will allow a composite score or rank to be determined. For example, each of the variables could be determined on a scale of 1-10 (with "1" being the best and "10" being the worst). The position on the scale could be based on a relative comparison to other developers or code patterns within the same class. [see Drissi, para. 36—para. 37]; All source code are stored together with all of their corresponding data, including the programming language. Thus, all of the programming languages associated with the source codes are ranked when ranking the source codes); identifying a size of the plurality of computer instructions in the block of programming code (Analysis system 40 will then analyze each of the extracted code patterns, and generate meta data relating to the quality thereof. To this extent, the meta data for a particular code pattern can identify certain characteristics thereof such as: the programming language of the code pattern; a list of the most used classes and elements in the code pattern instances; a list of dependencies (such as libraries and imported packages) of the code pattern; a number and a type of objects created and used at run time by the code pattern, memory used of the code pattern, etc. These variables allow the quality the code patterns to be determined. [see Drissi, para. 36]); associated with each of the first set of programming categories (The knowledge base 108 may include any suitable type of online library, forums, or database, which may continuously update the latest technologies associated with software application development, and/or may be manually updated by the users or developers. [see Priel, para. 15; FIG. 1]; The catalog 128 may be used to store the source code block with the categorization tags of the function, input, and output, and/or other data for use by the code block classifier 102. In some examples, prior categorizations and details of the analysis of the syntax matcher 112, signature generator 112, collateral miner 116, tokenizer 118, input/output determiner 120, and/or function assessor 122 are stored in the catalog 128 for use in machine learning applications to facilitate subsequent and/or automated categorization of source code blocks. [see Cremeans, para. 28]); ranking the first set of programming categories based on the size identified for each of the first set of programming categories, the ranking resulting in a ranked first set of programming categories (The knowledge base 108 may include any suitable type of online library, forums, or database, which may continuously update the latest technologies associated with software application development, and/or may be manually updated by the users or developers. [see Priel, para. 15; FIG. 1]; The catalog 128 may be used to store the source code block with the categorization tags of the function, input, and output, and/or other data for use by the code block classifier 102. In some examples, prior categorizations and details of the analysis of the syntax matcher 112, signature generator 112, collateral miner 116, tokenizer 118, input/output determiner 120, and/or function assessor 122 are stored in the catalog 128 for use in machine learning applications to facilitate subsequent and/or automated categorization of source code blocks. [see Cremeans, para. 28]; Analysis system 40 will then analyze each of the extracted code patterns, and generate meta data relating to the quality thereof. To this extent, the meta data for a particular code pattern can identify certain characteristics thereof such as: the programming language of the code pattern; a list of the most used classes and elements in the code pattern instances; a list of dependencies (such as libraries and imported packages) of the code pattern; a number and a type of objects created and used at run time by the code pattern, memory used of the code pattern, etc. These variables allow the quality the code patterns to be determined. Once the meta has been generated, classification and analysis system 42 will classify and rank the code patterns. For example, each code pattern could be classified according to its intended purpose, programming language, etc. Each classification/category of code patterns could also be assigned a group name. Classifying the code patterns is useful because, conceptually, the code patterns in the same category achieve the same results, but with varying levels of compliance to software best practices as well as different quality characteristics such as performance at run time and memory usage. Once classified, a rank or score is assigned to each code pattern based on at least three variables. Such variables include: (1) a skill level of the developer of the code pattern; (2) an experience level of the developer; and (3) a quality of the code pattern as set forth in the meta data (e.g., performance, memory usage, etc.). These variables will allow a composite score or rank to be determined. For example, each of the variables could be determined on a scale of 1-10 (with "1" being the best and "10" being the worst). The position on the scale could be based on a relative comparison to other developers or code patterns within the same class. [see Drissi, para. 36—para. 37]; All source code are stored together with all of their corresponding data, including the programming categories. Thus, all of the programming categories associated with the source codes are ranked when ranking the source codes), wherein the comparing further compares the ranked first set of programming categories with the internal ranking of the programming categories associated with each of the plurality of programming languages (assume that developer 62B is now attempting to submit a new set of program code for evaluation. In this case, the set of program code will be received by test reception system 52. Upon receipt, test extraction system 54 will identify, extract and classify one or more code patterns to be tested therefrom. Identification of the code patterns can be accomplished using a similar text or pattern matching technology as described above in conjunction with pattern extraction system 38. Classification can also be performed as described above. For example, a code pattern to be tested could be classified based on its intended purpose, the programming language thereof, etc. Regardless, once the code patterns to be tested have been classified, matching system 56 will compare each code pattern to be tested to the code patterns in the same categories as set forth in resource 70 to determine a closest match. For example, if code pattern to be tested "Z" was determined to be in category "1," matching system 56 would compare it to all the previously analyzed and ranked code patterns in category "1" as set forth in resource 70. The code pattern in resource 70 most similar to code pattern "Z" would represent a "closest match." [see Drissi, para. 41]; At 604, by executing the knowledge basis analysis module 210, the server 106 analyzes the input transmitted from the client device 102 by searching against the knowledge base 108 to generate a technology recommendation. [see Priel, para. 29]). Regarding claim 8, claim 8 contains substantially similar limitations to those found in claim 1. Therefore it is rejected for the same reason as claim 1 above. Additionally, the combination of Priel, Cremeans, and Drissi further teaches: An information handling system comprising (FIG. 2 shows a suitable example of the server 106 in which a processor 202 is coupled to a non-transitory, computer-readable storage device 204. Input and output devices 214 may also be included and coupled to the processor. The non-transitory, computer-readable storage device 204 may be implemented as volatile storage (e.g., random access memory), non-volatile storage (e.g., hard disk drive, optical storage, solid-state storage, etc.) or combinations of various types of volatile and/or non-volatile storage. As shown in FIG. 2, the non-transitory, computer-readable storage device 204 includes an input reception module 206, a knowledge base 108, a knowledge basis analysis module 210, and a technology recommendation module 212. Each module of FIG. 2 may be executed by the processor 202 to implement the functionality described herein attributed to the server 106. The functions to be implemented by executing the modules 206, 210 and 212 will be described with reference to the flow diagrams of FIG. 6. [see Priel, para 17—para. 18; FIG. 2]); one or more processors (FIG. 2 shows a suitable example of the server 106 in which a processor 202 is coupled to a non-transitory, computer-readable storage device 204. Input and output devices 214 may also be included and coupled to the processor. The non-transitory, computer-readable storage device 204 may be implemented as volatile storage (e.g., random access memory), non-volatile storage (e.g., hard disk drive, optical storage, solid-state storage, etc.) or combinations of various types of volatile and/or non-volatile storage. As shown in FIG. 2, the non-transitory, computer-readable storage device 204 includes an input reception module 206, a knowledge base 108, a knowledge basis analysis module 210, and a technology recommendation module 212. Each module of FIG. 2 may be executed by the processor 202 to implement the functionality described herein attributed to the server 106. The functions to be implemented by executing the modules 206, 210 and 212 will be described with reference to the flow diagrams of FIG. 6. [see Priel, para. 17—para. 18; FIG. 2]); a memory coupled to at least one of the processors (FIG. 2 shows a suitable example of the server 106 in which a processor 202 is coupled to a non-transitory, computer-readable storage device 204. Input and output devices 214 may also be included and coupled to the processor. The non-transitory, computer-readable storage device 204 may be implemented as volatile storage (e.g., random access memory), non-volatile storage (e.g., hard disk drive, optical storage, solid-state storage, etc.) or combinations of various types of volatile and/or non-volatile storage. As shown in FIG. 2, the non-transitory, computer-readable storage device 204 includes an input reception module 206, a knowledge base 108, a knowledge basis analysis module 210, and a technology recommendation module 212. Each module of FIG. 2 may be executed by the processor 202 to implement the functionality described herein attributed to the server 106. The functions to be implemented by executing the modules 206, 210 and 212 will be described with reference to the flow diagrams of FIG. 6. [see Priel, para. 17—para. 18; FIG. 2]); a set of computer program instructions stored in the memory and executed by at least one of the processors in order to perform actions comprising (FIG. 2 shows a suitable example of the server 106 in which a processor 202 is coupled to a non-transitory, computer-readable storage device 204. Input and output devices 214 may also be included and coupled to the processor. The non-transitory, computer-readable storage device 204 may be implemented as volatile storage (e.g., random access memory), non-volatile storage (e.g., hard disk drive, optical storage, solid-state storage, etc.) or combinations of various types of volatile and/or non-volatile storage. As shown in FIG. 2, the non-transitory, computer-readable storage device 204 includes an input reception module 206, a knowledge base 108, a knowledge basis analysis module 210, and a technology recommendation module 212. Each module of FIG. 2 may be executed by the processor 202 to implement the functionality described herein attributed to the server 106. The functions to be implemented by executing the modules 206, 210 and 212 will be described with reference to the flow diagrams of FIG. 6. [see Priel, para. 17—para. 18; FIG. 2]). Regarding claim 15, claim 15 contains substantially similar limitations to those found in claim 1. Therefore it is rejected for the same reason as claim 1 above. Additionally, the combination of Priel, Cremeans, and Drissi further teaches: a computer program product stored in a computer readable storage medium, comprising computer program code that, when executed by an information handling system, performs actions comprising (FIG. 2 shows a suitable example of the server 106 in which a processor 202 is coupled to a non-transitory, computer-readable storage device 204. Input and output devices 214 may also be included and coupled to the processor. The non-transitory, computer-readable storage device 204 may be implemented as volatile storage (e.g., random access memory), non-volatile storage (e.g., hard disk drive, optical storage, solid-state storage, etc.) or combinations of various types of volatile and/or non-volatile storage. As shown in FIG. 2, the non-transitory, computer-readable storage device 204 includes an input reception module 206, a knowledge base 108, a knowledge basis analysis module 210, and a technology recommendation module 212. Each module of FIG. 2 may be executed by the processor 202 to implement the functionality described herein attributed to the server 106. The functions to be implemented by executing the modules 206, 210 and 212 will be described with reference to the flow diagrams of FIG. 6. [see Priel, para. 17—para. 18; FIG. 2]). Regarding claims 9 and 16, claims 9 and 16 contains substantially similar limitations to those found in claim 2 above. Consequently, claims 9 and 16 are rejected for the same reasons. Regarding claims 10 and 17, claims 10 and 17 contains substantially similar limitations to those found in claim 3 above. Consequently, claims 10 and 17 are rejected for the same reasons. Regarding claims 11 and 18, claims 11 and 18 contains substantially similar limitations to those found in claim 4 above. Consequently, claims 11 and 18 are rejected for the same reasons. Regarding claims 12 and 19, claims 12 and 19 contains substantially similar limitations to those found in claim 5 above. Consequently, claims 12 and 19 are rejected for the same reasons. Claims 6, 13, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Priel et al. (US 2016/0266874 A1), hereinafter Priel, in view of Cremeans et al. (US 2019/0317743 A1), hereinafter Cremeans, and further in view of Drissi et al. (US 2005/0223354 A1), hereinafter Drissi, and further in view of Zodik et al. (US 6/785,683 B1) hereinafter Zodik. Regarding claim 6, the combination of Priel, Cremeans, and Drissi teaches all the limitations of claim 1 and further teaches: providing the one or more recommended programming languages to a user (At 604, by executing the knowledge basis analysis module 210, the server 106 analyzes the input transmitted from the client device 102 by searching against the knowledge base 108 to generate a technology recommendation. [see Priel, para. 29]; The method 600 continues at 606 with executing the technology recommendation module 212 to provide the technology recommendation to the client device 102. In some embodiments, the technology recommendation may include a software framework, a software development language, a software protocol, and a software platform. [see Priel, para. 30]) associated with the block of programming code (The examples disclosed herein allow machine programming systems, once given intent of a programmer, to leverage the repository of source code blocks to autonomously solve problems. This enables more natural human-coding interactions. This also enables machines to accomplish tasks that can be automatically identified. [see Cremeans, para. 12]; The intent can be inferred by parsing input of a programmer to detect what the programmer wants to occur. For example, in a mapping function, the intent can be inferred to scale or overlay portions of a map. [see Cremeans, para. 39]). However, the combination of Priel, Cremeans, and Drissi fails to teach outputting, from the Al system, a code analysis corresponding to the block of programming code, wherein the code analysis includes a ranked list of the first set of programming categories found in the block of programming code, and providing the code analysis to a user associated with the block of programming code. In the same field of endeavor, Zodik teaches: outputting, from the Al system, a code analysis corresponding to the block of programming code (In the feature extraction phase 53 all the information from the code resource which is significant for the categorization decision is identified, preferably using the techniques taught in the above noted application Ser. No. 09/473,554, and then extracted. Essentially the feature extraction phase 53 is a technical process performed by a parser, which extracts the significant features identified by the domain expert from the resources. Both textual information and language specific semantic information are extracted. For example in the case of a Java source code resource, methods and fields names are extracted. In a categorization phase 55 the material extracted in the feature extraction phase 53 used to classify the resources into categories. The classification procedure applies the predefined set of rules which were developed in the preliminary phase 51 in order to classify the code resource. The classification rules are written only once. The classification process is done automatically for each new or updated resource in the repository. A code resource may be classified into more than one category. Since the categories are subject and language oriented, a classification into more than one category means that the code resource is related to more than one subject or has a semantic relation to other resources in the category. The categorization results, which are the names of the categories in which a resource was classified, are then stored in step 56 for later use, preferably according to the teachings of the above noted application Ser. No. 09/473,554. It should be noted that the categorization results are not indexes. While it may be advantageous to index the categorization results for other purposes, this is outside the scope of the present invention and will not be discussed. In a presentation phase 59 a presentation model is constructed based on the domain taxonomy, the categorization results and based on the semantic information of the resources. [Col. 6, lines 31-65; FIG. 3-5]); wherein the code analysis includes a ranked list of the first set of programming categories found in the block of programming code (The categories in the tree view are organized in a hierarchical manner so that the top level nodes represent the major categories, while the children of these nodes stand for subcategories. By selecting a category node the user is presented with a list of all subcategories, if there are any, and a list of all code resources that belong to the selected category. When a code resource is selected in the left pane 62, the list of all categories in which it was classified is displayed in the right pane 64. The categories in the right pane 64 are sorted according to their categorization rank, or category relevancy score, which was calculated during the categorization process. FIG. 5 shows a second example of the category visualization tool. [Col. 9, lines 26-39; FIG. 4-5]); providing the code analysis to a user associated with the block of programming code (Referring now to FIGS. 3, 4 and 5, for use in the presentation phase 59, the user is shown a screen 60 on a computer monitor. A category visualization tool is presented as two main window panes, a left pane 62, and a right pane 64. The left pane 62 presents the taxonomy tree, i.e., the categories, and the code resources that belong to each category. The right pane 64 presents all the categories in which a selected resource of the left pane 62 is classified. In most cases, categories are presented as a tree view 66. [Col. 8, lines 48-56; FIG. 4-5]); It would have been obvious to one of ordinary skill, in the art at the time before the effective filing date of the invention to incorporate outputting, from the Al system, a code analysis corresponding to the block of programming code, wherein the code analysis includes a ranked list of the first set of programming categories found in the block of programming code, and providing the code analysis to a user associated with the block of programming code as suggested in Zodik into the combination of Priel, Cremeans, and Drissi because both systems classify source code into categories (see Cremeans, para. 18; see Zodik, Col. 6, lines 28-65). Incorporating the teaching of Zodik into the combination of Priel, Cremeans, and Drissi would provide an improved tool for presenting categorization results in a computer system resource management system based on the category information and on the language semantics (see Zodik, Col. 2, lines 50-54). Regarding claims 13 and 20, claims 13 and 20 contains substantially similar limitations to those found in claim 6 above. Consequently, claims 13 and 20 are rejected for the same reasons. Claims 7 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Priel et al. (US 2016/0266874 A1), hereinafter Priel, in view of Cremeans et al. (US 2019/0317743 A1), hereinafter Cremeans, and further in view of Drissi et al. (US 2005/0223354 A1), hereinafter Drissi, as applied in claim 1 above, and further in view of Park et al. (US 2012/0159428 A1) hereinafter Park, and further in view of Zodik et al. (US 6/785,683 B1), and further in view of Chacko et al. (US 2017/0371629 A1) hereinafter Chacko. Regarding claim 7, the combination of Priel, Cremeans, and Drissi teaches all the limitations of claim 1. However, the combination of Priel, Cremeans, and Drissi fails to teach wherein at least one of the programming categories is selected from the group consisting of iteration handling, reference handling, input-output handling, error exception handling, and filter-map-reduce handling. In the same field of endeavor, Park teaches: wherein at least one of the programming categories is selected from the group consisting of iteration handling, reference handling, and filter-map-reduce handling (The foregoing and/or other aspects are achieved by providing a method of determining a multimedia architectural pattern to transform a single-core based architecture to a multi-core based architecture, the method including receiving an input of architectural drivers including an execution time/speed, a memory demand, a memory bandwidth, and load balancing needs, determining priorities of the architectural drivers based on a functional requirement and a non-functional requirement of a software architecture, and determining at least one architectural pattern from a mapping table, based on the determined priorities, wherein the mapping table may include concurrency-related architectural patterns and the architectural drivers, and the concurrency-related architectural patterns and the priorities of the architectural drivers are mapped to each other based on a checklist. [para. 26]; In operation 2130, the architecture transformation apparatus may determine at least one architectural pattern from a mapping table, based on the priorities determined in operation 2120. The mapping table may be stored in a software asset storage and a database. The mapping table may include concurrency-related architectural patterns, and the architectural drivers. The concurrency-related architectural patterns, and the priorities of the architectural drivers may be mapped to each other based on a checklist. The architecture transformation apparatus may determine, as a recommended pattern, an architectural pattern matched to the determined priorities of the architectural drivers. Additionally, the architecture transformation apparatus may determine, as a partially adaptable pattern, an architectural pattern partially matched to the determined priorities of the architectural drivers. Table 8 shows an example of a mapping table indicating an applicability of each architectural pattern in view of four architectural drivers. [para. 223—para. 226; Table 8]). It would have been obvious to one of ordinary skill, in the art at the time before the effective filing date of the invention to incorporate wherein at least one of the programming categories is selected from the group consisting of iteration handling, reference handling, and filter-map-reduce handling as suggested in Park into the combination of Priel, Cremeans, and Drissi because both systems provide aid to users in developing software (see Priel, para. 10; see Park, Abstract). Incorporating the teaching of Park into the combination of Priel, Cremeans, and Drissi would improve overall quality of software, and reduce a development time (see Park, Abstract). However, the combination of Priel, Cremeans, Drissi, and Park fails to teach wherein at least one of the programming categories is selected from the group consisting of input-output handling, error exception handling. In the same field of endeavor, Zodik teaches: wherein at least one of the programming categories is selected from the group consisting of input-output handling ([see FIG. 5]). It would have been obvious to one of ordinary skill, in the art at the time before the effective filing date of the invention to incorporate wherein at least one of the programming categories is selected from the group consisting of input-output handling as suggested in Zodik into the combination of Priel, Cremeans, Drissi, and Park because both systems classify source code into categories (see Cremeans, para. 18; see Zodik, Col. 6, lines 28-65). Incorporating the teaching of Zodik into the combination of Priel, Cremeans, Drissi, and Park would provide an improved tool for presenting categorization results in a computer system resource management system based on the category information and on the language semantics (see Zodik, Col. 2, lines 50-54). However, the combination of Priel, Cremeans, Drissi, Park, and Zodik fails to teach wherein at least one of the programming categories is selected from the group consisting of error exception handling. In the same field of endeavor, Chacko teaches: wherein at least one of the programming categories is selected from the group consisting of reference handling, and error exception handling (In one aspect, the mining module 212 stores the plurality of source code blocks in the reference model 226 upon categorizing the plurality of source code blocks into at least one category comprising declaration, initialization, instantiation, exceptions handled, usage, return type, and call-flow. [para. 32]); It would have been obvious to one of ordinary skill, in the art at the time before the effective filing date of the invention to incorporate wherein at least one of the programming categories is selected from the group consisting of reference handling, and error exception handling as suggested in Chacko into the combination of Priel, Cremeans, Drissi, Park, and Zodik because both systems provide aid to users in developing software (see Priel, para. 10; see Chacko, para. 8). Incorporating the teaching of Chacko into the combination of Priel, Cremeans, Drissi, Park, and Zodik would allow the software developer to identify, refer, and re-use existing applicable code blocks from the existing references (see Chacko, para. 18). Regarding claim 14, claim 14 contains substantially similar limitations to those found in claim 7 above. Consequently, claim 14 is rejected for the same reasons. Response to Amendment The amendments to the specification filed 11/24/2025 repeats the previously identified plurality of mistakes in the amendments to the specification filed 06/11/2025, the amendments to the specification are not entered for at least the following reasons: Each amendment to the specification is recited as “Please amend and insert after paragraph [XXXX] as follows:”, and provides either partial or complete paragraph replacements. Since it has been requested to insert the amended paragraphs after the problematic paragraphs, the identified issues are not resolved. Further, the plurality of paragraphs would be written twice, further creating more issues. The amendments for para. 10, 23, 31, and 36 are incomplete as they only amend a portion of the paragraph and thus cannot act as replacement paragraphs. The amendments for para. 29 and 32 amend the information handling system from 200 to 100, 200 was previously objected to because the drawings do not contain an element 200. However, the paragraphs now refer to element 100 as information handling system which is incorrect, the information handling system is either element 104, or any of elements 110–170 from FIG. 1. Response to Arguments Applicant’s arguments, filed 11/24/2025, traversing the rejections of claims 1-20 under 35 U.S.C. 101 have been fully considered and are not persuasive. Applicant argues that the independent claims as amended are analogous to Example 48 from the 2024 PEG and as such do not recite a judicial exception, and that the claims require surrender of control to the machine and cannot be performed within the mind. Examiner respectfully disagrees. With respect to Example 48, the PEG states that claims 1-3 recite a judicial exception but that claims 2-3 integrate the judicial exception into a practical application which is contrary to Applicant’s assertion that the PEG states claims 2-3 of Example 48 recite no judicial exception. Thus, the claims in the instant app are not analogous to claims 2-3 of Example 48 because the claims of the instant app do not integrate the recited judicial exception. With respect to the claims requiring surrender of control to the machine, the independent claims recite a machine learning model trained to perform mental processes of recognizing programming categories by mapping programming categories to metadata and the system performing the mental process of recommending a programming language based on a comparison of programming categories in the program code to metadata corresponding to the programming language. While the claims link the mental processes to a generic machine learning model for a generic system, there are no limitations recited in the independent claim that would prevent the identified mental processes from being performed in the human mind. Applicant further argues that the human mind cannot ascertain a level of performance for programming specific computations, much less an AI-based internal ranking. However, the independent claims do not recite the specific categories argued, nor an AI-based internal ranking. While the dependent claims do recite the specific categories, there is no recitation in the claims that would prevent the human mind from ascertaining a level of performance, the performance could be entirely subjective such as one’s opinion of how it may perform, or the human mind could evaluate/make a determination based on criterion. Further, there is no recitation of an AI-based ranking, only that the AI maps programming categories to metadata comprising a ranking. There is no limitation recited that would prevent the human mind from using the same metadata with ranking data to perform the same determination. Additionally, the independent claims have been amended to recite “wherein the internal ranking indicates a level of performance of the plurality of programming languages to handle each of the plurality of programming categories”, which applicant argues integrates the aforementioned judicial exception. However, this claim limitation instead furthers the judicial exception as the ranking indicating a level of performance is reasonably performable in the human mind as a mental process of determination, evaluation, judgement or opinion, and is a mathematical concept specifically organizing information and manipulating information through mathematical correlations (i.e., organized through their mathematical ranking). For at least the aforementioned reasons, claims 1-20 remain rejected under 35 U.S.C. 101. Applicant’s arguments, filed 11/24/2025, traversing the rejection of independent claims 1, 8, and 15, and by nature of their dependency claims 2-7, 9-14, and 16-20 under 35 U.S.C. 103, have been fully considered and are not persuasive. Applicant argues that Drissi is 20 years old, fails to teach a level of performance of how each programming language handles each of the programming categories, and is not sophisticated enough to account for machine learning, and does not indicate how well each programming language handles each of the programming categories such as Looping, Iterating, Exception handling, Filter/Map/Reduce, File I/O, etc. Examiner respectfully disagrees. In response to applicant's argument based upon the age of the references, contentions that the reference patents are old are not impressive absent a showing that the art tried and failed to solve the same problem notwithstanding its presumed knowledge of the references. See In re Wright, 569 F.2d 1124, 193 USPQ 332 (CCPA 1977). In response to applicant's argument that Drissi is nonanalogous art, it has been held that a prior art reference must either be in the field of the inventor’s endeavor or, if not, then be reasonably pertinent to the particular problem with which the inventor was concerned, in order to be relied upon as a basis for rejection of the claimed invention. See In re Oetiker, 977 F.2d 1443, 24 USPQ2d 1443 (Fed. Cir. 1992). In this case, the prior art relied upon specifically Priel and Drissi are analogous art because they are both directed to aiding users in developing software (see Priel, para. 10; see Drissi, para. 5-6). While Drissi does not explicitly mention artificial intelligence, because Priel and Drissi are both directed to aiding users in developing software it would be reasonably pertinent to the particular problem with which the inventor was concerned. With respect to Drissi failing to teach a level of performance of how each programming language handles each of the programming categories, Drissi discloses, in para. 37, code patterns classified by their intent and programming language then ranked by their score across three variables including the skill/experience of the developer as identified by the Applicant, as well as the quality of the code pattern which is further explained as performance, memory usage, etc. Thus, Drissi teaches a level of performance for each code pattern classified by their programming language and intent. However, Drissi would make obvious a level of performance for each code category as the code patterns are already classified by their intent, thus, the level of performance for intents is already known. Further, the combination of Priel, Cremeans, and Drissi would make obvious metadata comprising a ranking for a plurality of intents based on a plurality of ranking data wherein the internal ranking data indicated a level of performance of the programming languages to handle the programming categories because Cremeans discloses programming categories mapped to sets of metadata (see Cremeans, para. 22 and 29) and Drissi identifies metadata for a level of performance of code patterns classified by their programming language and intent (see Drissi, para. 37), thus the level of performance for different intents is known, the level of performance for different languages is known, and the level of performance for different intents in different languages is known. Thus, through the combination of Cremeans and Drissi, there would be metadata which contains a ranking of a level of performance for a plurality of intents in a plurality of programming languages for which the trained model can map to a plurality of programming categories. Thus, while Drissi taken alone does not explicitly teach the recited claim limitation, the combination of Priel, Cremeans, and Drissi would make obvious the recited claim limitation. With respect to Drissi not teaching the specifically argued program categories, the specific programming categories are not recited in the independent claims nor is Drissi relied upon to teach all of the identified programming categories. Instead the programming categories are specified in a dependent claim and are obvious in view of Park, Zodik, and Chacko as identified above in the rejection of claim 7 under 35 U.S.C 103. For at least the aforementioned reasons, claims 1-20 remain rejected under 35 U.S.C. 103. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Wong, I-An (A decision analysis system for evaluating and ranking programming languages applied on artificial intelligence. MS thesis. California State University, Northridge, 1988) teaches a computer-based decision analysis system to evaluate and select a programming language based on the performance of each language against the criteria being developed. Any inquiry concerning this communication or earlier communications from the examiner should be directed to JAKE BREEN whose telephone number is (571)272-0456. The examiner can normally be reached Monday - Friday, 7:00 AM - 3:00 PM EST. 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, Jennifer Welch can be reached at (571) 272-7212. 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. /J.T.B./Examiner, Art Unit 2143 /JENNIFER N WELCH/Supervisory Patent Examiner, Art Unit 2143
Read full office action

Prosecution Timeline

Sep 16, 2021
Application Filed
Mar 13, 2025
Non-Final Rejection — §101, §103, §112
Jun 05, 2025
Examiner Interview Summary
Jun 05, 2025
Applicant Interview (Telephonic)
Jun 11, 2025
Response Filed
Sep 02, 2025
Final Rejection — §101, §103, §112
Nov 24, 2025
Response after Non-Final Action
Dec 08, 2025
Request for Continued Examination
Dec 18, 2025
Response after Non-Final Action
Jan 30, 2026
Non-Final Rejection — §101, §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12602577
NEURON CORE WITH TIME-EMBEDDED FLOATING POINT ARITHMETIC
2y 5m to grant Granted Apr 14, 2026
Patent 12555650
SYSTEM AND METHOD FOR MOLECULAR PROPERTY PREDICTION USING EDGE-CONDITIONED GRAPH ATTENTION NEURAL NETWORK
2y 5m to grant Granted Feb 17, 2026
Patent 12518136
INFERENCE EXECUTION METHOD FOR CANDIDATE NEURAL NETWORKS AND SWITCHING NEURAL NETWORKS
2y 5m to grant Granted Jan 06, 2026
Study what changed to get past this examiner. Based on 3 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

3-4
Expected OA Rounds
70%
Grant Probability
99%
With Interview (+75.0%)
3y 11m
Median Time to Grant
High
PTA Risk
Based on 10 resolved cases by this examiner. Grant probability derived from career allow 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