# US 10,372,592 B2 · Automatic pre-detection of potential coding issues and recommendation for resolution actions

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

- Number: US 10,372,592 B2
- Document ID: US10372592B2
- Status: Granted
- Kind: B2
- Application number: 15/843,515
- Filed: 2017-12-15
- Published: 2018-04-19
- Granted: 2019-08-06
- Earliest claimed: 2013-09-16
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: George Howard Champlin-Scharff; Timothy Bruce Snow; Sabrina Yee
- Web page: https://patentgrep.com/patent/US10372592B2

## CPC

- G06F 11/368: {for test version control, e.g. updating test cases to a new software version}
- G06F 8/30: Creation or generation of source code
- G06F 8/70: Software maintenance or management
- G06F 9/451: Execution arrangements for user interfaces
- G06F 9/454: {Multi-language systems; Localisation; Internationalisation}
- G06F 11/008: {Reliability or availability analysis}
- G06F 11/3684: {for test design, e.g. generating new test cases}
- G06F 11/3698: Environments for analysis, debugging or testing of software
- G06N 5/04: Inference or reasoning models
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A tool for automatic pre-detection of potential software product impact according to a statement placed in a software development system, and for automatically recommending for resolutions which accesses a repository of information containing a history of changes and effects of the changes for a software project; using a received a statement in natural language to perform a natural language search of the repository; according to the findings of the search of the repository, using a machine learning model to compose an impact prediction regarding the received statement relative to the findings; and automatically placing an advisory notice regarding to the impact prediction into the software development system, wherein the advisory notice is associated with the received statement.

## Claims

### Claim 1

A method for automatic pre-detection of potential software product impact and recommendation for resolutions, the method comprising the steps of:
extracting, by a computer processor, symbols from an input phrase expressed in natural language containing a description of an unimplemented software project change;
searching, by a computer processor, using Natural Language Processing with one or more machine learning models, natural language notations in a repository of historical software project changes;
predicting, by a computer processor, in advance of implementation of the unimplemented software project change, one or more components of the software project which will be impacted according to the received one or more effects according to the Natural Language Processing search and one or more effects attributed to matching the historical software project changes, the input phrase extracted symbols, and the natural language notations;
associating, by a computer processor, an advisory notice with the input phrase in a software development tool, the advisory notice comprising the predicted one or more components which will be impacted; and
responsive to receipt of user approval of the advisory notice, updating, by a computer processor, the one or more machine learning models.

### Claim 2 (depends on 1)

The method as set forth in claim 1 wherein the input phrase comprises a proposed change to the software project, and wherein the advisory notice comprises a warning of a software error predicted to be induced by programming changes corresponding to the proposed change.

### Claim 3 (depends on 2)

The method as set forth in claim 2 wherein the warning further comprises a suggestion for an alternative change proposition.

### Claim 4 (depends on 1)

The method as set forth in claim 1 wherein the input phrase comprises a proposed requirement for the software project, and wherein the advisory notice comprises a warning of a noncompliance with another requirement predicted to be induced by programming changes corresponding to the proposed requirement.

### Claim 5 (depends on 1)

The method as set forth in claim 1 wherein the input phrase comprises a description of an untested revision the software project, and wherein a warning comprises a suggestion of one or more test cases to be employed to regression test and validate the revision of the software project.

### Claim 6 (depends on 5)

The method as set forth in claim 5 wherein the test case suggestion comprises one or more suggestions selected from the group consisting of a recommended applicable test case, a non-recommended inapplicable test case, and a modified test suite of a plurality of recommended test cases.

### Claim 7 (depends on 1)

The method as set forth in claim 1 further comprising, responsive to user indication of approval of the impact prediction, updating by the computer processor the one or more machine learning models.

### Claim 8

A computer program product for automatic pre-detection of potential software product impact and recommendation for resolutions comprising:
a tangible, computer readable storage memory device which is not a propagating signal per se; and
program instructions embodied by the memory device for causing a processor, when executed, to:
extract symbols from an input phrase expressed in natural language containing a description of an unimplemented software project change;
search, using Natural Language Processing with one or more machine learning models, natural language notations in a repository of historical software project changes;
predict, in advance of implementation of the unimplemented software project change, one or more components of the software project which will be impacted according to the received one or more effects according to the Natural Language Processing search and one or more effects attributed to matching the historical software project changes, the input phrase extracted symbols, and the natural language notations;
associate an advisory notice with the input phrase in a software development tool, the advisory notice comprising the predicted one or more components which will be impacted; and
responsive to receipt of user approval of the advisory notice, update the one or more machine learning models.

### Claim 9 (depends on 8)

The computer program product as set forth in claim 8 wherein the input phrase comprises a proposed change to the software project, and wherein the advisory notice comprises a warning of a software error predicted to be induced by programming changes corresponding to the proposed change.

### Claim 10 (depends on 9)

The computer program product as set forth in claim 9 wherein the warning further comprises a suggestion for an alternative change proposition.

### Claim 11 (depends on 8)

The computer program product as set forth in claim 8 wherein the input phrase comprises a proposed requirement for the software project, and wherein the advisory notice comprises a warning of a noncompliance with another requirement predicted to be induced by programming changes corresponding to the proposed requirement.

### Claim 12 (depends on 8)

The computer program product as set forth in claim 8 wherein the input phrase comprises a description of an untested revision the software project, and wherein a warning comprises a suggestion of one or more test cases to be employed to regression test and validate the revision of the software project.

### Claim 13 (depends on 12)

The computer program product as set forth in claim 12 wherein the test case suggestion comprises one or more suggestions selected from the group consisting of a recommended applicable test case, a non-recommended inapplicable test case, and a modified test suite of a plurality of recommended test cases.

### Claim 14 (depends on 8)

The computer program product as set forth in claim 8 wherein the program instructions further comprise instructions, responsive to user indication of approval of the impact prediction, to update the one or more machine learning models.

### Claim 15

A system for automatic pre-detection of potential software product impact and recommendation for resolutions comprising:
a computing platform having a processor and a computer readable storage memory device;
a tangible, computer readable storage memory device which is not a propagating signal per se; and
program instructions embodied by the memory device for causing the processor, when executed, to:
extract symbols from an input phrase expressed in natural language containing a description of an unimplemented software project change;
search, using Natural Language Processing with one or more machine learning models, natural language notations in a repository of historical software project changes;
predict, in advance of implementation of the unimplemented software project change, one or more components of the software project which will be impacted according to the received one or more effects according to the Natural Language Processing search and one or more effects attributed to matching the historical software project changes, the input phrase extracted symbols, and the natural language notations;
associate an advisory notice with the input phrase in a software development tool, the advisory notice comprising the predicted one or more components which will be impacted; and
responsive to receipt of user approval of the advisory notice, update the one or more machine learning models.

### Claim 16 (depends on 15)

The system as set forth in claim 15 wherein the input phrase comprises a proposed change to the software project, and wherein the advisory notice comprises a warning of a software error predicted to be induced by programming changes corresponding to the proposed change.

### Claim 17 (depends on 15)

The system as set forth in claim 15 wherein the input phrase comprises a proposed requirement for the software project, and wherein the advisory notice comprises a warning of a noncompliance with another requirement predicted to be induced by programming changes corresponding to the proposed requirement.

### Claim 18 (depends on 15)

The system as set forth in claim 15 wherein the input phrase comprises a description of an untested revision the software project, and wherein a warning comprises a suggestion of one or more test cases to be employed to regression test and validate the revision of the software project.

### Claim 19 (depends on 18)

The system as set forth in claim 18 wherein the test case suggestion comprises one or more suggestions selected from the group consisting of a recommended applicable test case, a non-recommended inapplicable test case, and a modified test suite of a plurality of recommended test cases.

### Claim 20 (depends on 15)

The system as set forth in claim 15 wherein the program instructions further comprise instructions, responsive to user indication of approval of the impact prediction, to update the one or more machine learning models.
