# US 2020/0401382 A1 · Autonomously delivering software features

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

- Number: US 2020/0401382 A1
- Document ID: US20200401382A1
- Status: Published application
- Kind: A1
- Application number: 17/014,508
- Filed: 2020-09-08
- Published: 2020-12-24
- Earliest claimed: 2018-02-26
- Assignees: The Ultimate Software Group, Inc.
- Applicants: The Ultimate Software Group, Inc.
- Inventors: Keith A. Briggs; Brian R. Muras; Andrew Ferguson
- Web page: https://patentgrep.com/patent/US20200401382A1

## CPC

- G06F 8/35: model driven
- G06F 11/3447: {Performance evaluation by modeling}
- G06F 8/10: Requirements analysis; Specification techniques
- G06F 8/41: Compilation
- G06F 8/60: Software deployment
- G06F 11/3428: {Benchmarking}
- G06F 11/3608: {using formal methods, e.g. model checking, abstract interpretation (theorem proving G06N5/013)}
- G06F 11/3688: {for test execution, e.g. scheduling of test suites}
- G06F 11/3692: {for test results analysis}
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/09: Supervised learning
- G06N 5/04: Inference or reasoning models
- G06N 20/00: Machine learning
- G06N 3/006: based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
- G06N 3/08: Learning methods
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A system for autonomously delivering software features is disclosed. The system parses data obtained from a variety of sources, and extracts source concepts from the parsed data to generate models for inclusion in a set of agglomerated models. Over time, additional data from the variety of sources may be utilized to update the set of agglomerated models. The updated agglomerated models may be analyzed by the system to determine whether new features and/or functionality may be added to an application under evaluation by the system. In the event that new features and/or functionality may be added to the application under evaluation, the system may automatically generate code corresponding to the new features and/or functionality and incorporate that features and/or functionality into the application under evaluation.

## Claims

### Claim 1

A system, comprising:
a memory that stores instructions; and
a processor that executes the instructions to perform operations, the operations comprising:
parsing data obtained from a source to generate parsed data;
extracting a source concept from the parsed data;
updating, based on the source concept extracted from the parsed data, a model from a set of agglomerated models to generate a first updated set of agglomerated models;
identifying, based on the updated set of agglomerated models, a feature,
functionality, or a combination thereof, to incorporate into a first application under evaluation by the system;
automatically generating computer code corresponding to the feature, the functionality, or a combination thereof; and
incorporating the computer code corresponding to the feature, the functionality, or a combination thereof, into the first application under evaluation to enable the first application under evaluation to have the feature, the functionality, or a combination thereof.

### Claim 2 (depends on 1)

The system of claim 1, wherein the data comprises application usage data, new feature requests, competitive data, message data, an instant message, electronic mail, a customer input, any type of data, a defect description, or a combination thereof.

### Claim 3 (depends on 1)

The system of claim 1, wherein the operations further comprise testing the feature, the functionality, or a combination thereof, incorporated into the application under evaluation.

### Claim 4 (depends on 3)

The system of claim 3, wherein the operations further comprise deploying the first application under evaluation after testing the feature, the functionality, or a combination thereof.

### Claim 5 (depends on 1)

The system of claim 1, wherein the operations further comprise updating the first updated set of agglomerated models to generate a second set of agglomerated models based on additional data obtained from the source.

### Claim 6 (depends on 5)

The system of claim 5, wherein the operations further comprise identifying an additional feature, additional functionality, or a combination thereof, to incorporate into the first application under evaluation by the system.

### Claim 7 (depends on 6)

The system of claim 6, wherein the operations further comprise incorporating additional computer code corresponding to the additional feature, the additional functionality, or a combination thereof, into the first application under evaluation.

### Claim 8 (depends on 1)

The system of claim 1, wherein the operations further comprise identifying the feature, the functionality, or a combination thereof by analyzing a code pattern, a design language system, or a combination thereof.

### Claim 9 (depends on 1)

The system of claim 1, wherein the operations further comprise comparing the first application under evaluation to a second application under evaluation.

### Claim 10 (depends on 9)

The system of claim 9, wherein the operations further comprise generating a difference model, a performance model, or a combination thereof, based on information obtained from the comparing of the first application under evaluation to the second application under evaluation.

### Claim 11 (depends on 10)

The system of claim 10, wherein the operations further comprise determining if the second application under evaluation has software functionality suitable for improving the first application under evaluation based on the difference model, the performance model, or a combination thereof.

### Claim 12 (depends on 11)

The system of claim 11, wherein the operations further comprise generating further computer code corresponding to the software functionality suitable for improving the first application under evaluation if the second application under evaluation has the software functionality.

### Claim 13 (depends on 12)

The system of claim 12, wherein the operations further comprise incorporating the further computer code into the first application under evaluation.

### Claim 14

A method, comprising:
parsing data obtained from a source to generate parsed data;
extracting a source concept from the parsed data;
updating, based on the source concept extracted from the parsed data, a model from a set of agglomerated models to generate a first updated set of agglomerated models;
identifying, based on the updated set of agglomerated models, a feature, functionality, or a combination thereof, to incorporate into a first application under evaluation by the system;
automatically generating, by utilizing instructions from a memory that are executed by a processor, computer code corresponding to the feature, the functionality, or a combination thereof; and
incorporating the computer code corresponding to the feature, the functionality, or a combination thereof, into the first application under evaluation to enable the first application under evaluation to have the feature, the functionality, or a combination thereof.

### Claim 15 (depends on 14)

The method of claim 14, further comprising determining a difference between the first application under evaluation and a second application under evaluation.

### Claim 16 (depends on 15)

The method of claim 15, further comprising outputting the difference in a report, an analysis, a system model, or a combination thereof.

### Claim 17 (depends on 14)

The method of claim 14, further comprising verifying operation of the feature, the functionality, or a combination thereof, prior to deployment to a customer.

### Claim 18 (depends on 14)

The method of claim 14, further comprising enhancing the first application under evaluation, optimizing the first application under evaluation, customizing the first application under evaluation, or a combination thereof, based on the first updated set of agglomerated models.

### Claim 19 (depends on 14)

The method of claim 14, further comprising generating a second updated set of agglomerated models based on additional data obtained from the source.

### Claim 20

A computer-readable device comprising instructions, which, when loaded and executed by a processor, cause the processor to perform operations, the operations comprising:
parsing data obtained from a source to generate parsed data;
extracting a source concept from the parsed data;
updating, based on the source concept extracted from the parsed data, a model from a set of agglomerated models to generate a first updated set of agglomerated models;
identifying, based on the updated set of agglomerated models, a feature, functionality, or a combination thereof, to incorporate into an application under evaluation by the system;
automatically generating computer code corresponding to the feature, the functionality, or a combination thereof; and
incorporating the computer code corresponding to the feature, the functionality, or a combination thereof, into the application under evaluation to enable the application under evaluation to have the feature, the functionality, or a combination thereof.
