# US 12,008,345 B2 · Split testing associated with detection of user interface (UI) modifications

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

- Number: US 12,008,345 B2
- Document ID: US12008345B2
- Status: Granted
- Kind: B2
- Application number: 16/250,344
- Filed: 2019-01-17
- Published: 2020-07-23
- Granted: 2024-06-11
- Earliest claimed: 2019-01-17
- Assignees: Red Hat Israel, Ltd.
- Applicants: Red Hat Israel, Ltd.
- Inventors: Alissa Bonas
- Web page: https://patentgrep.com/patent/US12008345B2

## CPC

- G06F 8/38: for implementing user interfaces
- G06Q 30/0641: {utilising user interfaces specially adapted for shopping}
- G06F 8/33: Intelligent editors
- G06F 8/60: Software deployment
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 11/302: {where the computing system component is a software system}
- G06F 11/3051: {Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs (verification or detection of system hardware configuration G06F11/2247)}
- G06F 11/3438: {monitoring of user actions (tracking the activity of the user H04L67/535)}
- G06F 11/3612: {by runtime analysis (performance monitoring G06F11/3466)}
- G06F 11/3692: {for test results analysis}
- G06F 2201/865: Monitoring of software
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

An example method of providing a notification includes comparing a first code segment stored in a first page with a second code segment stored in a second page, before deployment of the second page in a production environment. The first page may be deployed in the production environment, and the second page may be a different version of the first page. The method also includes detecting a user interface (UI) modification based on comparing the first code segment with the second code segment. The method further includes providing a notification of the UI modification.

## Claims

### Claim 1

A method performed by a computing system, the method comprising:
deploying a first webpage in a production environment associated with the computing system, wherein the first webpage is part of a web application instance that, while in the production environment, executes on the computing system to provide a first graphical element within a display of a web browser on a client device, the first webpage corresponding to a first code segment;
receiving a second code segment corresponding to a second webpage, the second code segment, when deployed, providing a second graphical element within the display of the web browser on the client device;
merging the second webpage into a repository used to build a web application corresponding to the web application instance;
prior to deployment of the second webpage in the production environment and while the first webpage is in the production environment, automatically comparing the first code segment stored in the first webpage with the second code segment stored in the second webpage;
automatically detecting a user interface (UI) modification based on comparing the first code segment with the second code segment to determine if text corresponding to the first code segment is different than text corresponding to the second code segment, wherein the UI modification corresponds to a visual differentiation between the first graphical element and the second graphical element within the display of the web browser on the client device;
in response to detecting the modification, comparing the detected modification to a list of a plurality of disapproved modifications, the list of the plurality of disapproved modifications being predefined by a user;
wherein when the detected modification is not included on the list of the plurality of disapproved modifications, providing a notification of the detected modification to a split testing engine; and
with the split testing engine, performing split testing on the first graphical element of the first webpage and the second graphical element of the second webpage in response to receiving the notification.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first graphical element corresponds to a first UI feature.

### Claim 3 (depends on 2)

The method of claim 2, wherein the second graphical element corresponds to a second UI feature different from the first UI feature.

### Claim 4 (depends on 3)

The method of claim 3, wherein the first UI feature is of a first type, and the second UI feature is of a second type different from the first type.

### Claim 5 (depends on 3)

The method of claim 3, wherein an attribute of the first UI feature is different from an attribute of the second UI feature.

### Claim 6 (depends on 5)

The method of claim 5, wherein the attribute is at least one of a color, an image, a page structure, a font type, a font size, or a shape.

### Claim 7 (depends on 1)

The method of claim 1, wherein the first code segment is devoid of a first UI feature rendered at a location on a display, and the second code segment corresponds to the first UI feature rendered at the location on the display.

### Claim 8 (depends on 1)

The method of claim 1, comprising:
deploying a web application instance including the second webpage in the production environment.

### Claim 9

A system for providing a notification, the system comprising:
a processor; and
a memory comprising machine readable instructions that when executed by the processor, cause the system to:
deploy a first webpage in a production environment, wherein the first webpage is part of a web application instance that, while in the production environment, executes on the processor to provide a first graphical element within a display of a web browser on a client device, the first webpage corresponding to a first code segment;
receive a second code segment corresponding to a second webpage, the second code segment, when deployed, providing a second graphical element within the display of the web browser on the client device;
prior to deployment of the second webpage in the production environment and while the first webpage is in the production environment, automatically compare the first code segment stored in the first webpage with the second code segment stored in the second webpage
merge the second webpage into a repository used to build a web application corresponding to the web application instance;
automatically detect a user interface (UI) modification based on comparing the first code segment with the second code segment to determine if text corresponding to the first code segment is different than text corresponding to the second code segment, wherein the UI modification corresponds to a visual differentiation between the first graphical element and the second graphical element within the display of the web browser on the client device;
in response to detecting the modification, compare the detected modification to a list of a plurality of disapproved modifications, the list of the plurality of disapproved modifications being predefined by a user;
wherein when the detected modification is not included on the list of the plurality of disapproved modifications, provide a notification of the detected modification to a split testing engine; and
perform split testing on the first graphical element of the first webpage and the second graphical element of the second webpage.

### Claim 10 (depends on 9)

The system of claim 9, wherein a first web application instance includes the first code segment, and a second web application instance includes the second code segment.

### Claim 11 (depends on 9)

The system of claim 9, wherein a first mobile application instance includes the first code segment, and a second mobile application instance includes the second code segment.

### Claim 12 (depends on 9)

The system of claim 9, wherein a first microservice instance includes the first code segment, and a second microservice instance includes the second code segment.

### Claim 13 (depends on 9)

The system of claim 9, wherein a first executable file includes the first webpage, and a second executable file includes the second webpage.

### Claim 14 (depends on 13)

The system of claim 13, wherein the first and second code segments are written in Javascript.

### Claim 15 (depends on 9)

The system of claim 9, wherein the first and second code segments are written in a document markup language.

### Claim 16 (depends on 9)

The system of claim 9, wherein the first code segment corresponds to a first UI feature, and the second code segment corresponds to a second UI feature different from the first UI feature.

### Claim 17 (depends on 16)

The system of claim 16, wherein the first UI feature is of a first type, and the second UI feature is of a second type different from the first type.

### Claim 18 (depends on 17)

The system of claim 17, wherein the first type is at least one of a user-selectable option or an input text field.

### Claim 19 (depends on 9)

The system of claim 9, wherein the first and second code segments correspond to a first UI feature having different attributes based on the first and second code segments, wherein an attribute is at least one of a color, an image, a page structure, a font type, a font size, or a shape.

### Claim 20

A non-transitory machine-readable medium comprising a plurality of machine-readable instructions that when executed by one or more processors is adapted to cause the one or more processors to perform a method comprising:
deploying a first webpage in a production environment, wherein the first webpage is part of a web application instance that, while in the production environment, executes on a computing system to provide a first graphical element within a display of a web browser on a client device, the first webpage corresponding to a first code segment;
receiving a second code segment corresponding to a second webpage, the second code segment, when deployed, providing a second graphical element within the display of the web browser on the client device;
merging the second webpage into a repository used to build a web application corresponding to the web application instance;
prior to deployment of the second webpage in the production environment and while the first webpage is in the production environment, automatically comparing the first code segment stored in the first webpage with the second code segment stored in the second webpage;
automatically detecting a user interface (UI) modification based on comparing the first code segment with the second code segment to determine if text corresponding to the first code segment is different than text corresponding to the second code segment, wherein the UI modification corresponds to a visual differentiation between the first graphical element and the second graphical element within the display of the web browser on the client device;
in response to detecting the modification, comparing the detected modification to a list of a plurality of disapproved modifications, the list of the plurality of disapproved modifications being predefined by a user;
wherein when the detected modification is not included on the list of the plurality of disapproved modifications, providing a notification of the detected modification to a split testing engine; and
performing split testing on the first graphical element of the first webpage and the second graphical element of the second webpage.
