DETAILED ACTION
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 4/13/2026 has been entered.
Claims 1, 4-6, 8-11, 14-16, 19-25, 28 and 29 remain pending in this application.
Response to Arguments
3. The interpretation under 112(f) as set forth in the previous action regarding the “at least one processing device” has been withdrawn.
In response to Applicants’ arguments regarding the rejection of claims under 35 USC 101, the Applicants should please see the rejection below for clarification as it will substantially duplicate any response to the arguments in this section. However, the Applicant should please note that the limitations of the claim, even when taken as an ordered combination, do not provide steps that confine the abstract idea to a particular useful application. Also, the newly added limitations of “wherein the generating comprises: (i) obtaining and parsing source code corresponding to the software project to derive one or more graphs at two or more of a file level, a directory level and a software module level, wherein the one or more graphs indicate a code structure of the software project, and (ii) deriving the at least one first data structure based at least in part on the one or more graphs” are additional mental processes, as discussed previously in the rejection of record. Even though the claim now requires “two or more” of a file level, a directory level, and a software module level, the claims require deriving one or more graphs at two or more levels, which could just be deriving one graph at two of the levels, which would be only two graphs, and then deriving a data structure based on two graphs, which can be practically performed in the mind with the aid of pen and paper. Also, the claims still do not recite a number of files and modules So, even if the claims did recite "thousands of files and modules", it may take longer, but could still practically be performed by a human with the aid of pen and paper. In addition, the limitation of “automatically causing one or more actions to be performed to mitigate at least a portion of the one or more anomalies, wherein the one or more actions comprise preventing a performance of at least one code merge operation in response to the detected one or more anomalies” is merely applying the judicial exception since the claim does not recite any details of how or what will perform the “merge operation” other than a generic computer. For example, this step is comparable to merely merging or not merging information based on a detection of whether or not the merging will be successful. Therefore, the recited judicial exceptions are not integrated into a practical application, and the claims remain ineligible.
Claim Rejections - 35 USC § 101
4. 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, 4-6, 8-11, 14-16, 19-25, 28 and 29 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The analysis specific to Claim 16 is being presented below. However, the Applicants should please note that the analysis for claim 16 is similar to that of claims 1 and 11 and therefore rejected for the same reasons.
Claim 16 recites:
An apparatus comprising: at least one processing device comprising a processor coupled to a memory; the at least one processing device being configured:
to generate at least one first data structure comprising information indicating dependencies between a plurality of software modules associated with a software project of an organization;
wherein the generating comprises: (i) obtaining and parsing source code corresponding to the software project to derive one or more graphs at two or more of a file level, a directory level and a software module level, wherein the one or more graphs indicate a code structure of the software project, and (ii) deriving the at least one first data structure based at least in part on the one or more graphs;
to determine portions of the software project that are assigned to respective groups of one or more individuals associated with the organization based at least in part on a second data structure, wherein the second data structure comprises organizational information indicating one or more changes to an organizational structure of the organization over a period of time;
to detect one or more anomalies in the assignment of the portions of the software project corresponding to the dependencies in the at least one first data structure using one or more anomaly criteria, wherein said detecting comprises comparing the dependencies in the at least one first data structure against the organizational information in the second data structure by associating one or more timestamps corresponding to one or more interactions with at least a portion of the software project with one or more historical states of the organizational structure corresponding to the one or more timestamps to identify misalignments arising from the changes to the organizational structure over the period of time; and
to automatically cause one or more actions to be performed to mitigate at least a portion of the one or more anomalies, wherein the one or more actions comprise preventing a performance of at least one code merge operation.
Step 1:
The claim falls within statutory a category of being a system.
Step 2A – Prong 1:
The claim recites the limitations of:
to generate at least one first data structure comprising information indicating dependencies between a plurality of software modules associated with a software project of an organization;
wherein the generating comprises: (i) obtaining and parsing source code corresponding to the software project to derive one or more graphs at two or more of a file level, a directory level and a software module level, wherein the one or more graphs indicate a code structure of the software project, and (ii) deriving the at least one first data structure based at least in part on the one or more graphs;
to determine portions of the software project that are assigned to respective groups of one or more individuals associated with the organization based at least in part on a second data structure, wherein the second data structure comprises information indicating an organizational structure of the organization;
to detect one or more anomalies in the assignment of the portions of the software project corresponding to the dependencies in the at least one first data structure using one or more anomaly criteria, wherein said detecting comprises comparing the dependencies in the at least one first data structure against the organizational information in the second data structure by associating one or more timestamps corresponding to one or more interactions with at least a portion of the software project with one or more historical states of the organizational structure corresponding to the one or more timestamps to identify misalignments arising from the changes to the organizational structure over the period of time;
These limitations are limitations that, as drafted, are processes that, under its broadest reasonable interpretations, covers performance of the limitation in the mind. That is, nothing in the claim elements precludes the step from practically being performed in the mind or with a pen and paper, i.e. “generate”, “obtaining”, “parsing”, “detect”, “determine”, “compare”, “associate”, and “identify” can all be performed in the human mind through observation, evaluation, judgement, or opinion with the aid of pen and paper. As such, these limitations fall within the “Mental Processes” grouping of abstract ideas.
Step 2A – Prong 2:
The claim recites the additional limitations of “at least one processing device comprising a processor coupled to a memory”, which are recited at a high level of generality, i.e., merely instructions to implement the abstract idea on a generic computer or merely uses a computer as a tool to perform the abstract idea. Also, the additional element of “cause one or more actions to be performed to mitigate at least a portion of the one or more anomalies” is merely instructions to implement the abstract idea on a generic computer and the additional element of “wherein the one or more actions comprise preventing a performance of at least one code merge operation in response to the detected one or more anomalies” is merely applying the judicial exception or abstract idea. Therefore, this additional element does not integrate the judicial exception into a practical application. See MPEP 2106.05(f). In addition, the additional element of automation (“automatically …”) is merely using a machine for manual steps (see also MPEP 2106.05 (a)(I). Accordingly, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea.
Step 2B:
As explained with respect to Step 2A Prong Two, the additional elements of “at least one processing device comprising a processor coupled to a memory” and “cause one or more actions to be performed to mitigate at least a portion of the one or more anomalies”, are merely instructions to implement an abstract idea on a generic computer or merely uses a generic computer or computer components as a tool to perform the abstract idea, and thus do not amount to significantly more than the judicial exception. See MPEP 2106.05(d). Also, the additional element of “wherein the one or more actions comprise preventing a performance of at least one code merge operation in response to the detected one or more anomalies” is merely applying the judicial exception or abstract idea. Therefore, this additional element does not integrate the judicial exception into a practical application. See MPEP 2106.05(f). Therefore, none of the additional elements recite an inventive concept and the claimed invention is patent ineligible under 35 USC 101.
Additionally, claims 4, 14, and 19 recite “ wherein the generating the at least one first data structure comprises identifying a plurality of code layers for the software project, and wherein the plurality of code layers comprises two or more of: an external layer comprising at least one of the software modules that is maintained separately from the software project; an application layer comprising at least one of the software modules having a threshold number of dependencies; and one or more infrastructure layers comprising at least one of the software modules having a number of dependencies greater than the threshold number” are limitations that, as drafted, are processes that, under its broadest reasonable interpretations, covers performance of the limitation in the mind. That is, nothing in the claim elements precludes the step from practically being performed in the mind or with a pen and paper, i.e. “generating” and “identifying” can be performed in the human mind through observation, evaluation, judgement, or opinion with the aid of pen and paper. As such, these limitations fall within the “Mental Processes” grouping of abstract ideas and do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. Therefore, these claims fail both Step 2A prong 2 and Step 2B and is ineligible.
Additionally, claims 5, 15, and 20 recite “wherein each of the software modules comprises at least one of the following properties: having an associated code repository; at least one particular type of file indicating a relationship among a plurality of files associated with the software project; and an identifier that is used to identify the software module by one or more other software modules”, are limitations that, as drafted, are processes that, under its broadest reasonable interpretations, covers performance of the limitation in the mind. That is, nothing in the claim elements precludes the step from practically being performed in the mind or with a pen and paper, i.e. “generating”, and “identifying” can be performed in the human mind through observation, evaluation, judgement, or opinion with the aid of pen and paper. As such, these limitations fall within the “Mental Processes” grouping of abstract ideas. These limitations do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. Therefore, these claims fail both Step 2A prong 2 and Step 2B and is ineligible.
Additionally, claim 6 recites “wherein the second data structure is generated based at least in part on one or more titles of respective ones of the one or more individuals and one or more relationships between the respective ones of the one or more individuals” is a limitation that, as drafted, are processes that, under its broadest reasonable interpretations, covers performance of the limitation in the mind. That is, nothing in the claim elements precludes the step from practically being performed in the mind or with a pen and paper, i.e. “generate” can be performed in the human mind through observation, evaluation, judgement, or opinion with the aid of pen and paper. As such, this limitation fall within the “Mental Processes” grouping of abstract ideas. This limitation does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. Therefore, this claim fails both Step 2A prong 2 and Step 2B and is ineligible.
Additionally, claims 8 and 23 recite “wherein at least a portion of the one or more interactions are with a given portion of the software project, wherein the determining is based on (i) information identifying one or more individuals having the portion of the one or more interactions with the given portion of the software project and (ii) the one or more timestamps corresponding to the portion of the one or more interactions, and wherein the portion of the one or more interactions correspond to at least one of: creating at least one test for testing the given portion of the software project; modifying the given portion of the software project; and one or more merge operations affecting the given portion of the software project”, are limitations that, as drafted, are processes that, under its broadest reasonable interpretations, covers performance of the limitation in the mind. That is, nothing in the claim elements precludes the step from practically being performed in the mind or with a pen and paper, i.e. “determining” and “identifying” can be performed in the human mind through observation, evaluation, judgement, or opinion with the aid of pen and paper. As such, these limitations fall within the “Mental Processes” grouping of abstract ideas. These limitations do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. Therefore, these claims fail both Step 2A prong 2 and Step 2B and is ineligible.
Additionally, claims 9 and 24 recite “wherein the one or more anomaly criteria comprises at least one of: detecting two or more of the groups of the organization are assigned to a same portion of the software project; detecting that no group is assigned to a given portion of the software project; detecting that at least one individual from a first one of the groups interacts with a portion of the software project that is assigned to a different, second one of the groups; detecting that individuals from at least two different ones of the groups are assigned to a given portion of the software project corresponding to an infrastructure layer; and detecting that a first one of the groups interacts with a given portion of the software project that is located between two layers of the software project, wherein each of the two layers are assigned to a second one of the groups that is different than the first group” are limitations that, as drafted, are processes that, under its broadest reasonable interpretations, covers performance of the limitation in the mind. That is, nothing in the claim elements precludes the step from practically being performed in the mind or with a pen and paper, i.e. “detecting” can be performed in the human mind through observation, evaluation, judgement, or opinion with the aid of pen and paper. As such, these limitations fall within the “Mental Processes” grouping of abstract ideas. These limitations do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. Therefore, these claims fail both Step 2A prong 2 and Step 2B and is ineligible.
Additionally, claims 10 and 25 recite “wherein the one or more actions further comprise at least one of: outputting a list that identifies at least a portion of the one or more anomalies; outputting information for remediating at least a portion of the one or more anomalies; creating a ticket to track at least a portion of the one or more anomalies in a ticket tracking system; performing a code structure validation process; and performing one or more remediation actions, wherein the one or more remediation actions comprise at least one of: automatically adjusting one or more of: at least one individual and at least one group assigned to a given portion of the software project, and automatically changing a location of at least one part of a given portion of the software project”, which are all merely insignificant extra solution activity. In addition, the additional elements of automation (“automatically …”) are merely using a machine for manual steps. These limitations do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. Therefore, these claims fail both Step 2A prong 2 and Step 2B and is ineligible.
Additionally, claim 21 recites “computing, based at least in part on the misalignments, an organizational entropy value indicating an amount of misalignment between the organizational structure and a codebase of the software project,” is an additional limitations that, as drafted, are processes that, under its broadest reasonable interpretations, covers performance of the limitation in the mind. That is, nothing in the claim elements precludes the step from practically being performed in the mind or with a pen and paper, i.e. “computing” can be performed in the human mind through observation, evaluation, judgement, or opinion with the aid of pen and paper. As such, this limitation falls within the “Mental Processes” grouping of abstract ideas. This limitation does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. Therefore, this claim fail both Step 2A prong 2 and Step 2B and is ineligible.
Additionally, claim 22 recites “wherein the second data structure is generated based at least in part on one or more titles of respective ones of the one or more individuals and one or more relationships between the respective ones of the one or more individuals”, which are additional limitations that, as drafted, are processes that, under its broadest reasonable interpretations, covers performance of the limitation in the mind. That is, nothing in the claim elements precludes the step from practically being performed in the mind or with a pen and paper, i.e. “generating” can be performed in the human mind through observation, evaluation, judgement, or opinion with the aid of pen and paper. As such, these limitations fall within the “Mental Processes” grouping of abstract ideas and do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. Therefore, these claims fail both Step 2A prong 2 and Step 2B and is ineligible.
Additionally, claim 28 recites “wherein the deriving the at least one first data structure comprises: collapsing, in the one or more graphs, a plurality of nodes corresponding to a given one of the plurality of software modules into a single node representing the given one of the plurality of software modules to generate a module-level graph; and iteratively assigning the plurality of software modules to respective ones of a plurality of code layers based on dependencies indicated by the module-level graph, wherein each of the plurality of software modules is assigned to a respective one of the plurality of code layers based on the respective software module being dependent only on one or more other ones of the plurality of software modules assigned to one or more previously assigned ones of the plurality of code layers, wherein the detecting the one or more anomalies is based at least in part on the plurality of code layers to which the plurality of software modules are assigned”, which are additional limitations that, as drafted, are processes that, under its broadest reasonable interpretations, covers performance of the limitation in the mind. That is, nothing in the claim elements precludes the step from practically being performed in the mind or with a pen and paper, i.e. “deriving”, “collapsing”, and “assigning” can be performed in the human mind through observation, evaluation, judgement, or opinion with the aid of pen and paper. As such, these limitations fall within the “Mental Processes” grouping of abstract ideas and do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. Therefore, this claim fail both Step 2A prong 2 and Step 2B and is ineligible.
Additionally, claim 29 recites “wherein the one or more graphs comprise a first graph at a first one of the two or more of the file level, the directory level and the software module level, and a second graph at a second one of the two or more of the file level, the directory level and the software module level, and wherein the second graph is derived based at least in part on the first graph,” which are additional limitations that, as drafted, are processes that, under its broadest reasonable interpretations, covers performance of the limitation in the mind. That is, nothing in the claim elements precludes the step from practically being performed in the mind or with a pen and paper, i.e. “deriving” can be performed in the human mind through observation, evaluation, judgement, or opinion with the aid of pen and paper. As such, these limitations fall within the “Mental Processes” grouping of abstract ideas and do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. Therefore, this claim fail both Step 2A prong 2 and Step 2B and is ineligible.
Conclusion
5. Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHENECA SMITH whose telephone number is (571)270-1651. The examiner can normally be reached Mon-Fri 8:00AM-4:30PM 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, Hyung S Sough can be reached on 571-272-6799. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/CHENECA SMITH/Examiner, Art Unit 2192
/S. Sough/SPE, Art Unit 2192