# US 10,769,057 B2 · Identifying potential errors in code using machine learning

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,769,057 B2
- Document ID: US10769057B2
- Status: Granted
- Kind: B2
- Application number: 15/975,512
- Filed: 2018-05-09
- Published: 2019-11-14
- Granted: 2020-09-08
- Earliest claimed: 2018-05-09
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Alexander Sobran; Bo Zhang; Bradley C. Herrin
- Web page: https://patentgrep.com/patent/US10769057B2

## CPC

- G06F 11/3692: {for test results analysis}
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 8/73: Program documentation
- G06F 11/3476: {Data logging (G06F11/14, G06F11/2205 take precedence)}
- G06F 11/366: {using diagnostics (G06F11/0703 takes precedence)}
- G06F 17/40: Data acquisition and logging (for input to computer G06F3/00)
- G06N 20/00: Machine learning
- G06F 11/302: {where the computing system component is a software system}
- G06F 2201/865: Monitoring of software
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A method, system and computer program product for identifying potential errors in a software product after it is built but prior to release. Negative log reports of previously-build software products containing errors in the code in connection with building these software products are identified. The language of the negative log reports is then vectorized and the vectorized negative log reports are then stored. After vectorizing the language of a build log report upon completion of a build of a software product, the vectorized log report is compared with the stored vectorized negative log reports. The release of the software product will then be halted and the programmer will receive a copy of the negative log report associated with the vectorized negative log report closest in distance to the vectorized log report if the vectorized log report is within a threshold amount of distance to a stored vectorized negative log report.

## Claims

### Claim 1

A method for identifying potential errors in a software product after it is built but prior to release, the method comprising:
identifying negative log reports of previously-built software products, wherein said negative log reports contain errors in code in connection with building said previously-built software products;
vectorizing language of said identified negative log reports of previously-built software products;
storing said vectorized negative log reports;
vectorizing language of a build log report for a software product to form a vectorized log report upon completion of build of said software product;
comparing said vectorized log report with said stored vectorized negative log reports; and
halting release of said software product in response to identifying a stored vectorized negative log report within a threshold degree of distance of said vectorized log report.

### Claim 2 (depends on 1)

The method as recited in claim 1 further comprising:
creating a classification system that identifies users' questions pertaining to errors in computer programs that are associated with a negative log report.

### Claim 3 (depends on 2)

The method as recited in claim 2, wherein said classification system is created by defining a collection of tags for questions pertaining to errors in code and defining a collection of tags for log reporting, wherein said classification system is further created by adding textual features obtained by extracting items from a title, a body, a comment and an answer of crowd sourced data that co-occur with ether said collection of tags for log reporting or said collection of tags for questions pertaining to errors in code, wherein said classification system is further created by performing sentiment analysis on a title and a body of questions of said crowd sourced data.

### Claim 4 (depends on 2)

The method as recited in claim 2 further comprising:
identifying said negative log reports of previously-built software products by implementing said classification system on crowd sourced data.

### Claim 5 (depends on 4)

The method as recited in claim 4, wherein said crowd sourced data comprises build logs, product documentations, and public forums.

### Claim 6 (depends on 1)

The method as recited in claim 1 further comprising:
providing a programmer a copy of a negative log report associated with a vectorized negative log report closest in distance to said vectorized log report in response to identifying said stored vectorized negative log report within said threshold degree of distance of said vectorized log report.

### Claim 7 (depends on 1)

The method as recited in claim 1, wherein said vectorization of language of said identified negative log reports of previously-built software products and said vectorization of language of said build log report for said software product is performed using a machine learning model.

### Claim 8

A computer program product for identifying potential errors in a software product after it is built but prior to release, the computer program product comprising a computer readable storage medium having program code embodied therewith, the program code comprising the programming instructions for:
identifying negative log reports of previously-built software products, wherein said negative log reports contain errors in code in connection with building said previously-built software products;
vectorizing language of said identified negative log reports of previously-built software products;
storing said vectorized negative log reports;
vectorizing language of a build log report for a software product to form a vectorized log report upon completion of build of said software product;
comparing said vectorized log report with said stored vectorized negative log reports; and
halting release of said software product in response to identifying a stored vectorized negative log report within a threshold degree of distance of said vectorized log report.

### Claim 9 (depends on 8)

The computer program product as recited in claim 8, wherein the program code further comprises the programming instructions for:
creating a classification system that identifies users' questions pertaining to errors in computer programs that are associated with a negative log report.

### Claim 10 (depends on 9)

The computer program product as recited in claim 9, wherein said classification system is created by defining a collection of tags for questions pertaining to errors in code and defining a collection of tags for log reporting, wherein said classification system is further created by adding textual features obtained by extracting items from a title, a body, a comment and an answer of crowd sourced data that co-occur with ether said collection of tags for log reporting or said collection of tags for questions pertaining to errors in code, wherein said classification system is further created by performing sentiment analysis on a title and a body of questions of said crowd sourced data.

### Claim 11 (depends on 9)

The computer program product as recited in claim 9, wherein the program code further comprises the programming instructions for:
identifying said negative log reports of previously-built software products by implementing said classification system on crowd sourced data.

### Claim 12 (depends on 11)

The computer program product as recited in claim 11, wherein said crowd sourced data comprises build logs, product documentations, and public forums.

### Claim 13 (depends on 8)

The computer program product as recited in claim 8, wherein the program code further comprises the programming instructions for:
providing a programmer a copy of a negative log report associated with a vectorized negative log report closest in distance to said vectorized log report in response to identifying said stored vectorized negative log report within said threshold degree of distance of said vectorized log report.

### Claim 14 (depends on 8)

The computer program product as recited in claim 8, wherein said vectorization of language of said identified negative log reports of previously-built software products and said vectorization of language of said build log report for said software product is performed using a machine learning model.

### Claim 15

A system, comprising:
a memory for storing a computer program for identifying potential errors in a software product after it is built but prior to release; and
a processor connected to said memory, wherein said processor is configured to execute the program instructions of the computer program comprising:
identifying negative log reports of previously-built software products, wherein said negative log reports contain errors in code in connection with building said previously-built software products;
vectorizing language of said identified negative log reports of previously-built software products;
storing said vectorized negative log reports;
vectorizing language of a build log report for a software product to form a vectorized log report upon completion of build of said software product;
comparing said vectorized log report with said stored vectorized negative log reports; and
halting release of said software product in response to identifying a stored vectorized negative log report within a threshold degree of distance of said vectorized log report.

### Claim 16 (depends on 15)

The system as recited in claim 15, wherein the program instructions of the computer program further comprise:
creating a classification system that identifies users' questions pertaining to errors in computer programs that are associated with a negative log report.

### Claim 17 (depends on 16)

The system as recited in claim 16, wherein said classification system is created by defining a collection of tags for questions pertaining to errors in code and defining a collection of tags for log reporting, wherein said classification system is further created by adding textual features obtained by extracting items from a title, a body, a comment and an answer of crowd sourced data that co-occur with ether said collection of tags for log reporting or said collection of tags for questions pertaining to errors in code, wherein said classification system is further created by performing sentiment analysis on a title and a body of questions of said crowd sourced data.

### Claim 18 (depends on 16)

The system as recited in claim 16, wherein the program instructions of the computer program further comprise:
identifying said negative log reports of previously-built software products by implementing said classification system on crowd sourced data.

### Claim 19 (depends on 18)

The system as recited in claim 18, wherein said crowd sourced data comprises build logs, product documentations, and public forums.

### Claim 20 (depends on 15)

The system as recited in claim 15, wherein the program instructions of the computer program further comprise:
providing a programmer a copy of a negative log report associated with a vectorized negative log report closest in distance to said vectorized log report in response to identifying said stored vectorized negative log report within said threshold degree of distance of said vectorized log report.
