IP Library Granted Patent US 12,333,301
Granted Patent B2
US 12,333,301 · App. 18/176,607 · Granted Jun 17, 2025

Trace-based survey for pull request workflow

Inventors: Stephen James Day (Kirkland, WA); Akhil Acharya (Cambridge, MA); Bianca Tamayo (San Francisco, CA); Ian Chiles (Charleston, SC); Andrew Lee (Mountain View, CA); Victor Robertson (San Francisco, CA); Chun-Shao Chu (San Jose, CA)
Assignee: GM Cruise Holdings, LLC
G06F8/71G06F8/311G06F9/542G06F40/30G06Q10/0633G06Q30/0203
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,333,301
App. No.
18/176,607
Filed
Mar 1, 2023
Granted
Jun 17, 2025
Kind
B2
Art Unit
2192
USPC
717/111
Abstract

An infrastructure system facilitates trace-based surveys to query users their experiences with pull request workflows. For example, the infrastructure system may receive from a client device associated with a user a pull request for making one or more changes to a programming code repository. The infrastructure system may generate a trace based on a pull request workflow including operations for making the change(s). The trace includes spans, each of which correspond to one or more operations in the pull request workflow. The infrastructure system generates log files, each log file includes data logged during the one or more operations of a span. The log files may be stored as a dataset of the trace. The infrastructure system may transmit a survey to the client device based on the dataset. The infrastructure system may also modify the pull request workflow based on the user's response to the survey.

Claims (66)

1. A method, comprising:

receiving, from a client device associated with a user, a pull request for making one or more changes to a programming code repository;

in response to the pull request, generating a trace based on a pull request workflow, the pull request workflow comprising a plurality of operations for making the one or more changes to the programming code repository, the trace comprising a plurality of spans, each span corresponding to one or more operations in the pull request workflow;

generating log files based on the plurality of spans, each log file comprising data logged during a respective span of the plurality of spans;

determining whether an event has occurred based on at least one of the log files;

in response to determining that the event has occurred, providing a survey to the user based on at least one of the log files, the survey comprising one or more questions querying a sentiment of the user towards the pull request workflow; and

determining whether an operation in the pull request workflow needs to be modified based on a response of the user to the survey, wherein determining whether the operation in the pull request workflow needs to be modified comprises:

obtaining a plurality of evaluations on a quality of the pull request workflow from one or more users, the one or more users comprising the user;

associating each respective evaluation with one or more operations in the pull request workflow;

generating a quality heatmap for the pull request workflow, the quality heatmap illustrating the plurality of operations in the pull request workflow and indicating a quality of the one or more operations, the quality of the one or more operations determined based on the respective evaluation; and

determining whether the operation in the pull request workflow needs to be modified based on the quality heatmap.

2. The method of claim 1 , wherein:

at least some spans of the plurality of spans are arranged in a sequence, and

a log file for a last span in the sequence comprises data describing the event.

3. The method of claim 2 , wherein determining whether an event has occurred comprises:

determining whether the trace has completed based on the log file.

4. The method of claim 1 , wherein an operation in the pull request workflow comprises transmitting a request for an action by the user to the client device, and the event is lack of any response to the request from the client device a predetermined amount of time after the request is transmitted.

5. The method of claim 1 , wherein determining whether the event has occurred comprises:

determining whether an operation in the pull request workflow has completed within a predetermined amount of time.

6. The method of claim 1 , wherein determining whether the event has occurred comprises:

determining whether the user has a predetermined sentiment towards the pull request workflow.

7. The method of claim 1 , wherein providing the survey to the user comprises:

determining a sentiment of the user towards the pull request workflow; and

generating the one or more questions in the survey based on the sentiment of the user.

8. The method of claim 1 , wherein the programming code repository comprises programming codes for more than one application.

9. One or more non-transitory computer-readable media storing instructions executable to perform operations, the operations comprising:

receiving, from a client device associated with a user, a pull request for making one or more changes to a programming code repository;

in response to the pull request, generating a trace based on a pull request workflow, the pull request workflow comprising a plurality of operations for making the one or more changes to the programming code repository, the trace comprising a plurality of spans, each span corresponding to one or more operations in the pull request workflow;

generating log files based on the plurality of spans, each log file comprising data logged during a respective span of the plurality of spans;

determining whether an event has occurred based on at least one of the log files;

in response to determining that the event has occurred, providing a survey to the user based on at least one of the log files, the survey comprising one or more questions querying a sentiment of the user towards the pull request workflow; and

determining whether an operation in the pull request workflow needs to be modified based on a response of the user to the survey, wherein determining whether the operation in the pull request workflow needs to be modified comprises:

obtaining a plurality of evaluations on a quality of the pull request workflow from one or more users, the one or more users comprising the user;

associating each respective evaluation with one or more operations in the pull request workflow;

generating a quality heatmap for the pull request workflow, the quality heatmap illustrating the plurality of operations in the pull request workflow and indicating a quality of the one or more operations, the quality of the one or more operations determined based on the respective evaluation; and

determining whether the operation in the pull request workflow needs to be modified based on the quality heatmap.

10. The one or more non-transitory computer-readable media of claim 9 , wherein:

at least some spans of the plurality of spans are arranged in a sequence, and

a log file for a last span in the sequence comprises data describing the event.

11. The one or more non-transitory computer-readable media of claim 9 , wherein an operation in the pull request workflow comprises transmitting a request for an action by the user to the client device, and the event is lack of any response to the request from the client device a predetermined amount of time after the request is transmitted.

12. The one or more non-transitory computer-readable media of claim 9 , wherein determining whether the event has occurred comprises:

determining whether an operation in the pull request workflow has completed within a predetermined amount of time.

13. The one or more non-transitory computer-readable media of claim 9 , wherein determining whether the event has occurred comprises:

determining whether the user has a predetermined sentiment towards the pull request workflow.

14. The one or more non-transitory computer-readable media of claim 9 , wherein providing the survey to the user comprises:

determining a sentiment of the user towards the pull request workflow; and

generating the one or more questions in the survey based on the sentiment of the user.

15. A computer system, comprising:

a computer processor for executing computer program instructions; and

one or more non-transitory computer-readable media storing computer program instructions executable by the computer processor to perform operations comprising:

receiving, from a client device associated with a user, a pull request for making one or more changes to a programming code repository,

in response to the pull request, generating a trace based on a pull request workflow, the pull request workflow comprising a plurality of operations for making the one or more changes to the programming code repository, the trace comprising a plurality of spans, each span corresponding to one or more operations in the pull request workflow,

generating log files based on the plurality of spans, each log file comprising data logged during a respective span of the plurality of spans,

determining whether an event has occurred based on at least one of the log files,

in response to determining that the event has occurred, providing a survey to the user based on at least one of the log files, the survey comprising one or more questions querying a sentiment of the user towards the pull request workflow; and

determining whether an operation in the pull request workflow needs to be modified based on a response of the user to the survey, wherein determining whether the operation in the pull request workflow needs to be modified comprises:

obtaining a plurality of evaluations on a quality of the pull request workflow from one or more users, the one or more users comprising the user;

associating each respective evaluation with one or more operations in the pull request workflow;

generating a quality heatmap for the pull request workflow, the quality heatmap illustrating the plurality of operations in the pull request workflow and indicating a quality of the one or more operations, the quality of the one or more operations determined based on the respective evaluation; and

determining whether the operation in the pull request workflow needs to be modified based on the quality heatmap.

16. The computer system of claim 15 , wherein:

at least some spans of the plurality of spans are arranged in a sequence, and

a log file for a last span in the sequence comprises data describing the event.

17. The computer system of claim 15 , wherein an operation in the pull request workflow comprises transmitting a request for an action by the user to the client device, and the event is lack of any response to the request from the client device a predetermined amount of time after the request is transmitted.

18. The computer system of claim 15 , wherein determining whether the event has occurred comprises:

determining whether an operation in the pull request workflow has completed within a predetermined amount of time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2023
From: DAY, STEPHEN JAMES; ACHARYA, AKHIL; TAMAYO, BIANCA; CHILES, IAN; LEE, ANDREW; ROBERTSON, VICTOR; CHU, CHUN-SHAO
To: GM CRUISE HOLDINGS LLC
Reel/Frame 062839/0384 →
Continuity (1)
Related Publication 20240296044A1 · Sep 5, 2024
References Cited (5)
US 20070256050A1 · Behnia · 2007 [cited by examiner]
US 20240069908A1 · Moraes · 2024 [cited by examiner]
US 20240104479A1 · Bansal · 2024 [cited by examiner]
Shimagaki, Junji, et al., A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile, IEEE/ACM 38th IEEE International Conference on Software Engineering Companion, 2016, 10 pages, [retrieved on Sep… [cited by examiner]
Huq, Syed Fatiul, et al., Understanding the Effect of Developer Sentiment on Fix-Inducing Changes: An Exploratory Study on GitHub Pull Requests, 26th Asia-Pacific Software Engineering Conference (APSEC), 2019, 8 pages, … [cited by examiner]