Prosecution Insights
Last updated: September 17, 2026
Application No. 18/943,342

Automating Identification of Code Snippets for Library Suggestion Models

Non-Final OA §101§DP
Filed
Nov 11, 2024
Priority
Sep 08, 2017 — continuation of 10/474,455 +3 more
Examiner
DAO, THUY CHAN
Art Unit
Tech Center
Assignee
Devfactory Innovations Fz-Llc
OA Round
1 (Non-Final)
88%
Grant Probability
Favorable
1-2
OA Rounds
1y 6m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 88% — above average
88%
Career Allowance Rate
1040 granted / 1177 resolved
+28.4% vs TC avg
Moderate +12% lift
Without
With
+11.7%
Interview Lift
resolved cases with interview
Typical timeline
3y 4m
Avg Prosecution
17 currently pending
Career history
1186
Total Applications
across all art units

Statute-Specific Performance

§101
4.7%
-35.3% vs TC avg
§103
51.1%
+11.1% vs TC avg
§102
36.2%
-3.8% vs TC avg
§112
4.2%
-35.8% vs TC avg
Black line = Tech Center average estimate • Based on career data from 1177 resolved cases

Office Action

§101 §DP
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 . DETAILED ACTION 1. This action is responsive to the application filed on November 11, 2024. 2. Claims 1-20 have been examined. Double Patenting Rejection 3. A rejection based on double patenting of the “same invention” type finds its support in the language of 35 U.S.C. 101 which states that “whoever invents or discovers any new and useful process... may obtain a patent therefor...” (Emphasis added). Thus, the term “same invention,” in this context, means an invention drawn to identical subject matter. See Miller v. Eagle Mfg. Co., 151 U.S. 186 (1894); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Ockert, 245 F.2d 467, 114 USPQ 330 (CCPA 1957). A statutory type (35 U.S.C. 101) double patenting rejection can be overcome by canceling or amending the claims that are directed to the same invention so they are no longer coextensive in scope. The filing of a terminal disclaimer cannot overcome a double patenting rejection based upon 35 U.S.C. 101. Claim 1 is rejected under 35 U.S.C. 101 as claiming the same invention as that of claim 1 of prior U.S. Patent No. 11,093,240. This is a statutory double patenting rejection. US Patent 11,093,240 Present Application 1. A method for adding a library model to a library knowledge base, comprising: receiving by a device comprising a processor and a memory, a software program to be submitted as a library model; generating, by the device, a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file; submitting, by the device, the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints. 1. A method for adding a library model to a library knowledge base, comprising: receiving, by a device comprising a processor and a memory, a software program to be submitted as a library model; generating, by the device, a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file; submitting, by the device, the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints. Claim 10 is rejected under 35 U.S.C. 101 as claiming the same invention as that of claim 10 of prior U.S. Patent No. 11,797,298. This is a statutory double patenting rejection. US Patent 11,797,298 Present Application 10. A non-transitory, computer program product comprising at least one recordable medium having stored thereon executable instructions and data which, when executed by at least one processing device, cause the at least one processing device to: receive a software program to be submitted as a library model; generate a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file; submit the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and add the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints. 16. A system comprising: one or more processors; a memory coupled to at least one of the processors; and a set of instructions stored in the memory and executed by at least one of the one or more processors to enhance operable functionality of a software program by adding a library model to a library knowledge base, wherein the set of instructions are executable to perform actions of: receiving a software program to be submitted as a library model; generating a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file; submitting the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints. 10. A computer program product comprising at least one recordable medium having stored thereon executable instructions and data which, when executed by at least one processing device, cause the at least one processing device to: receive a software program to be submitted as a library model; generate a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file; submit the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and add the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints. 16. A system comprising: one or more processors; a memory coupled to at least one of the processors; and a set of instructions stored in the memory and executed by at least one of the processors to enhance operable functionality of a software program by adding a library model to a library knowledge base, wherein the set of instructions are executable to perform actions of: receiving a software program to be submitted as a library model; generating a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file; submitting the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints. 4. The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the "right to exclude" granted by a patent and to prevent possible harassment by multiple assignees. See In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); and In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321 (c) may be used to overcome an actual or provisional rejection based on a nonstatutory double patenting ground provided the conflicting application or patent is shown to be commonly owned with this application. See 37 CFR 1.131 (c). A registered attorney or agent of record may sign a terminal disclaimer. The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/forms/. The filing date of the application will determine what form should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/process/ file/efs/guidance/eTD-info-l.jsp. Claims 1, 10, and 16 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims of U.S. Patent numbers 10,474,455, 11,093,240, and 11,797,298. Although the claims at issue are not identical, they are not patentably distinct from each other (the claims under examination are anticipated by the reference claims) because claims of the present application are just broader versions of the patent claims. US Patent 10,474,455 Present Application 1. A method for adding a library model to a library knowledge base, comprising: receiving, by a device comprising a processor and a memory, a software program to be submitted as a library model; generating, by the device, a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets that when executed and provided the custom inputs respond with outputs to at least assist to identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file; submitting, by the device, the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints. 10. A non-transitory, computer program product comprising at least one recordable medium having stored thereon executable instructions and data which, when executed by at least one processing device, cause the at least one processing device to: receive a software program to be submitted as a library model; generate a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets that when executed and provided the custom inputs respond with outputs to at least assist to identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file; submit the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and add the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints. 16. A system comprising: one or more processors; a memory coupled to at least one of the processors; and a set of instructions stored in the memory and executed by at least one of the processors to enhance operable functionality of a software program by adding a library model to a library knowledge base, wherein the set of instructions are executable to perform actions of: receiving a software program to be submitted as a library model; generating a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets that when executed and provided the custom inputs respond with outputs to at least assist to identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file; submitting the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints. 1. A method for adding a library model to a library knowledge base, comprising: receiving, by a device comprising a processor and a memory, a software program to be submitted as a library model; generating, by the device, a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file; submitting, by the device, the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints. 10. A computer program product comprising at least one recordable medium having stored thereon executable instructions and data which, when executed by at least one processing device, cause the at least one processing device to: receive a software program to be submitted as a library model; generate a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file; submit the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and add the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints. 16. A system comprising: one or more processors; a memory coupled to at least one of the processors; and a set of instructions stored in the memory and executed by at least one of the processors to enhance operable functionality of a software program by adding a library model to a library knowledge base, wherein the set of instructions are executable to perform actions of: receiving a software program to be submitted as a library model; generating a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file; submitting the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints. US Patent 11,093,240 Present Application 10. A method for adding a library model to a library knowledge base, comprising: sending, by a first device comprising a first processor and a first memory, a software program to be submitted as a library model, wherein the software program is received by a second device, comprising a second processor and a second memory, wherein the second device performs: generating, by the device, a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file; submitting, by the device, the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints. 1. A method for adding a library model to a library knowledge base, comprising: receiving, by a device comprising a processor and a memory, a software program to be submitted as a library model; generating, by the device, a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file; submitting, by the device, the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints. US Patent 11,797,298 Present Application 10. A method for adding a library model to a library knowledge base, comprising: sending, by a first device comprising a first processor and a first memory, a software program to be submitted as a library model, wherein the software program is received by a second device, comprising a second processor and a second memory, wherein the second device performs: generating, by the device, a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file; submitting, by the device, the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints. 1. A method for adding a library model to a library knowledge base, comprising: receiving, by a device comprising a processor and a memory, a software program to be submitted as a library model; generating, by the device, a library configuration file by filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model and a set of custom inputs for the library model, and passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file; submitting, by the device, the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints; and adding the library model to the library knowledge base if the library configuration file is correctly formatted and satisfies predetermined library model constraints. Allowable Subject Matter 5. The following is an examiner’s statement of reasons for allowance: US 7,117,411 to McNeely et al. discloses a test tools server includes a version control environment. A number of database elements, including test plans/test cases, test results, a communication interface, and a device under test operating software library, reside within the version control environment. US 10,372,597 to Alam et al. discloses a system enables a process for improving hardware/software technology by automating the execution of test case-based software and performing a context sensitive pattern matching process to map software actions, data parameters, and software objects to existing software steps from a step library database and software objects from an object repository of a target software application. NPL to Monce et al. discloses test cases for testing client-library compatibility. However, neither McNeely, Alam, nor Monce anticipates or renders obvious the combination set forth in the independent claims recited as "filling a configuration file template with extracted data to automatically populate a plurality of data fields in the library configuration file with information identifying the library model," "passing a set of test cases from the set of custom inputs to an input/output matching engine to evaluate a repository of code snippets and identify a set of functionally similar code snippets for inclusion in one of the data fields in the library configuration file," and "submitting, by the device, the library configuration file to a validator which validates the library configuration file to ensure that the library model is correctly formatted and satisfies predetermined library model constraints." That is, McNeely, Alam, and Monce disclose test cases and software libraries but do not disclose the specific limitations as required above in all independent claims. The aforementioned limitations and reasons are in conjunction with all other claim limitations and the structure and environment which are not specifically recited in the quotes or expounded upon in the reasons. The Notice of Allowability is based on the totality of the claims. Thus, for at least the foregoing reasons, the prior art of record neither anticipates nor rendered obvious the present invention as set forth in the claims. Any comments considered necessary by applicant must be submitted no later than the payment of the issue fee and, to avoid processing delays, should preferably accompany the issue fee. Such submissions should be clearly labeled “Comments on Statement of Reasons for Allowance.” Resolving the 35 U.S.C. 101 rejection would put in condition for allowance. Incorporating allowable subject matter and resolving the 35 U.S.C. 101 rejection would put in condition for allowance. Conclusion 6. Any inquiry concerning this communication should be directed to examiner Thuy (Twee) Dao, whose telephone/fax numbers are (571) 272 8570 and (571) 273 8570, respectively. Examiner can normally be reached from Monday to Friday, 5:30am - 2:00pm ET. If attempts to reach Examiner by telephone are unsuccessful, Examiner’s supervisor, Hyung (Sam) Sough, can be reached at (571) 272 6799. The fax phone number for the organization where this application or proceeding is assigned is (571) 273 8300. Any inquiry of a general nature of relating to the status of this application or proceeding should be directed to the TC 2100 Group receptionist whose telephone number is (571) 272 2100. Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). /Thuy Dao/Primary Examiner, Art Unit 2192
Read full office action

Prosecution Timeline

Nov 11, 2024
Application Filed
Aug 10, 2026
Non-Final Rejection mailed — §101, §DP (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12737204
COMMAND LINE INTERFACE INFORMATION VISUALIZATION SYSTEM
2y 4m to grant Granted Sep 15, 2026
Patent 12717565
SYSTEM, METHOD, AND COMPUTER PROGRAM FOR UNIFIED DEPLOYMENT OF MICROSEVICES
2y 6m to grant Granted Aug 25, 2026
Patent 12693642
A Building Automation Network
3y 2m to grant Granted Jul 28, 2026
Patent 12688028
SOFTWARE UPDATE IN A SECURITY ELEMENT
2y 5m to grant Granted Jul 21, 2026
Patent 12678682
SYSTEM AND METHOD OF ASSEMBLING A PROTECTIVE SPORTS EQUIPMENT
3y 2m to grant Granted Jul 14, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

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

Prosecution Projections

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

Sign in with your work email

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

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

Free tier: 3 strategy analyses per month