Determining code complexity scores
US-2017031800-A1 · Feb 2, 2017 · US
US10496935B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10496935-B2 |
| Application number | US-201615149279-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 9, 2016 |
| Priority date | Mar 17, 2016 |
| Publication date | Dec 3, 2019 |
| Grant date | Dec 3, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for system modernization using machine learning are disclosed. In one aspect, a method includes the actions of generating training data. The actions include generating a first model, a second model, and a third model. The actions include receiving data that is related to technological capabilities of an application and data that is related to business priorities of the application. The actions include applying the first model to the data that is related to the technological capabilities of the application and the second model to the data that is related to business priorities of the application. The actions include generating a modification recommendation for the application. The actions further include providing, for output, the modification recommendation for the application. The actions include receiving feedback data that indicates a level of acceptance of the modification recommendation for the application.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method comprising: generating training data including (i) a first set of training data that indicates technical capabilities of an application, and (ii) a second set of training data that indicates one or more business imperatives of the application; training, using supervised machine learning, a processing model for generating modification recommendations for applications, the processing model having (i) a technical capabilities stage that is trained to provide recommendations based on technical functions of applications using the first set of training data that indicates the technical capabilities of the application and that is trained independent of feedback data concerning prior generated modification recommendations, and (ii) a business imperatives stage that is trained to provide recommendations based on business goals of applications using the second set of training data that indicates the one or more business imperatives of the application; receiving first user-input data that is derived from a questionnaire relating to technological capabilities of the application and second user-input data that is derived from a questionnaire relating to business imperatives of the application; applying (i) the technical capabilities stage of the processing model to the first user-input data that is derived from the questionnaire relating to the technological capabilities of the application, and (ii) the business imperatives stage of the processing model to the second user-input data that is derived from the questionnaire relating to the business imperatives of the application; based on applying the technical capabilities stage of the processing model to the first user-input data and applying the business imperatives stage of the processing model to the second user-input data, generating a modification recommendation for the application; providing, for output, the modification recommendation for the application; receiving feedback data that indicates a level of acceptance of the modification recommendation for the application; training, using unsupervised machine learning, a ratings stage of the processing model using the feedback data that indicates the level of acceptance of the modification recommendation for the application as training data; and using the technical capabilities stage, the business imperatives stage, and the ratings stage of the processing model in generating a modification recommendation for a different application. 2. The method of claim 1 , wherein generating training data comprises: analyzing a plurality of applications; generating modification recommendations for each of the plurality of applications; and generating, independent of any feedback data, the training data based on analyzing the plurality of applications and generating the modification recommendations for each of the plurality of applications. 3. The method of claim 1 , comprising: determining technical debt for the application, wherein the technical debt is based on one or more of cyclomatic complexity, coupling factor, lack of cohesion of methods, attribute hiding factor, method hiding factor, lines of code, and number of classes or files, wherein the modification recommendation for the application is further based on the technical debt for the application. 4. The method of claim 1 , wherein receiving the first user-input data comprises: providing, for output, one or more technological capabilities prompts that are configured to elicit a technical function response from a user; and providing, for output, one or more business priorities prompts that are configured to elicit a business goal response from the user. 5. The method of claim 1 , wherein the technical capabilities of the application comprise elasticity, scalability, extensibility, interoperability, ease of data access, accessibility, availability, security, currency, and vendor reliance. 6. The method of claim 1 , wherein the business imperatives of the application comprise time to market, omni channel, data informed decision making, compliance, greater available functionality and mash ups, capture market share, improved client experience, increase share of wallet, accelerate client onboarding, and self-service features. 7. The method of claim 1 , wherein using the technical capabilities stage, the business imperatives stage, and the ratings stage of the processing model in generating a modification recommendation for a different application comprises: receiving data that is related to technological capabilities of an additional application and data that is related to business imperatives of the additional application; applying the technical capabilities stage of the processing model to the data that is related to the technological capabilities of the additional application and the business imperatives stage of the processing model to the data that is related to business imperatives of the additional application; based on applying the technical capabilities stage of the processing model and the business imperatives stage of the processing model, generating an additional modification recommendation for the additional application; generating an adjusted additional modification recommendation by applying the ratings stage of the processing model to the additional modification recommendation for the additional application; providing, for output, the adjusted additional modification recommendation for the additional application; receiving additional feedback data that indicates an additional level of acceptance of the adjusted additional modification recommendation for the additional application; and based on the additional feedback data that indicates the additional level of acceptance of the adjusted additional modification recommendation for the additional application, modifying, using unsupervised machine learning, the ratings stage of the processing model. 8. A system comprising: one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: generating training data including (i) a first set of training data that indicates technical capabilities of an application, and (ii) a second set of training data that indicates one or more business imperatives of the application; training, using supervised machine learning, a processing model for generating modification recommendations for applications, the processing model having (i) a technical capabilities stage that is trained to provide recommendations based on technical functions of applications using the first set of training data that indicates the technical capabilities of the application and that is trained independent of feedback data concerning prior generated modification recommendations, and (ii) a business imperatives stage that is trained to provide recommendations based on business goals of applications using the second set of training data that indicates the one or more business imperatives of the application; receiving first user-input data that is derived from a questionnaire relating to technological capabilities of the application and second user-input data that is derived from a questionnaire relating to business imperatives of the application; applying (i) the technical capabilities stage of the processing model to the first user-input data that is derived from the questionnaire relating to the technological capabilities of the application, and (ii) the business imperatives stage of the processing model to the second user-input data that is derived from the questionnaire relating to the business imperatives of the application; based on apply
involving simulating, designing, planning or modelling of a network · CPC title
using machine learning or artificial intelligence · CPC title
Inference or reasoning models · CPC title
Enterprise or organisation modelling · CPC title
Interprogram communication · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.