Back to results
US 12,762,004 B1Granted
Root cause analysis for computer programs
AssigneeAugment Computing, Inc.
InventorsLior Neumann, Colin Flaherty
Life of this patent
Estimating the term…
Abstract
Methods, systems, products, services, and apparatuses for root cause analysis for computer programs, including: receiving an indication to identify a root cause of a failed test of a computer program; and identifying, by a root cause model, from a plurality of changes to the computer program, based on data describing the failed test, one or more changes to the computer program as the root cause of the failed test.
Claims20
A method comprising:
- receiving, from a process configured to monitor test execution in a Continuous Integration/Continuous Delivery (CI/CD) pipeline of a computer program, an indication to identify a root cause of a failed test of the computer program and data describing the failed test;
- accessing, in response to the indication and from a code repository, code of the computer program in a passing state that previously passed the failed test;
- generating a differential between the code of the computer program in the passing state and code of the computer program that caused the failed test;
- identifying, by a root cause model, from a plurality of changes to the computer program included in the differential, based on the data describing the failed test, one or more changes to the computer program as the root cause of the failed test, wherein the root cause model comprises a specifically trained root cause model trained using a training data set comprising a plurality of tuples each including data describing a code change that introduced a corresponding test failure, data describing the corresponding test failure, and data describing another code change that corrected the corresponding test failure;
- and
- receiving, by a trained code generation model, one or more input tokens encoding the root cause of the failed test;
- and
- sequentially generating, by the trained code generation model and based on the one or more input tokens, one or more output tokens encoding suggested code to insert into the computer program to correct the failed test, wherein the one or more output tokens are sequentially generated based on a prediction of a next token in a sequence of the one or more output tokens.
5 more elements
A system comprising:
- a memory;
- and
- a processing device, operatively coupled to the memory, the processing device configured to:
- receive, from a process configured to monitor test execution in a Continuous Integration/Continuous Delivery (CI/CD) pipeline of a computer program, an indication to identify a root cause of a failed test of the computer program;
- access, in response to the indication and from a code repository, code of the computer program in a passing state that previously passed the failed test;
- generate a differential between the code of the computer program in the passing state and code of the computer program that caused the failed test;
- identify, by a root cause model, from a plurality of changes to the computer program included in the differential, based on data describing the failed test, one or more changes to the computer program as the root cause of the failed test, wherein the root cause model comprises a specifically trained root cause model trained using a training data set comprising a plurality of tuples each including data describing a code change that introduced a corresponding test failure, data describing the corresponding test failure, and data describing another code change that corrected the corresponding test failure;
- and
- receive, by a trained code generation model, one or more input tokens encoding the root cause of the failed test;
- and
- sequentially generate, by the trained code generation model and based on the one or more input tokens, one or more output tokens encoding suggested code to insert into the computer program to correct the failed test, wherein the one or more output tokens are sequentially generated based on a prediction of a next token in a sequence of the one or more output tokens.
8 more elements
A non-transitory computer readable storage medium storing instructions which, when executed, cause a processing device to:
- receive, from a process configured to monitor test execution in a Continuous Integration/Continuous Delivery (CI/CD) pipeline of a computer program, an indication to identify a root cause of a failed test of the computer program and data describing the failed test;
- access, in response to the indication and from a code repository, code of the computer program in a passing state that previously passed the failed test;
- generate a differential between the code of the computer program in the passing state and code of the computer program that caused the failed test;
- identify, by a root cause model, from a plurality of changes to the computer program included in the differential, based on the data describing the failed test, one or more changes to the computer program as the root cause of the failed test, wherein the root cause model comprises a specifically trained root cause model trained using a training data set comprising a plurality of tuples each including data describing a code change that introduced a corresponding test failure, data describing the corresponding test failure, and data describing another code change that corrected the corresponding test failure;
- and
- receive, by a trained code generation model, one or more input tokens encoding the root cause of the failed test;
- and
- sequentially generate, by the trained code generation model and based on the one or more input tokens, one or more output tokens encoding suggested code to insert into the computer program to correct the failed test, wherein the one or more output tokens are sequentially generated based on a prediction of a next token in a sequence of the one or more output tokens.
5 more elements
Dependencies are inferred from the claim text.