Deviation finder
First Claim
Patent Images
1. A method for automatic program regression detection, comprising:
- gathering, on a user device, system events into a first trace;
in response to observing an update to the user device, gathering system events occurring after the update into a second trace;
in response to observing a regression on the user device, comparing the first trace to the second trace to identify deviations in system events between the first trace and the second trace;
ranking the identified deviations based on their respective run lengths, wherein the identified deviations ranked based on their respective run lengths include at least a first predetermined number of different system events occurring over a run of a second predetermined number of system events;
identifying a start of a longest run of the deviations in system events in the second trace;
indicating the start of the longest run as a regression point;
identifying a program associated with the regression point; and
transmitting the regression point to a support services application associated with the identified program.
1 Assignment
0 Petitions
Accused Products
Abstract
Automatic detection of software program regression points enables developers to more quickly and accurately diagnose and solve issues in changes to software. Traces of instructions are collected from before and after a change to a program or settings thereto on a computing device and are compared to identify differences between the two traces. Areas of differences are ranked and returned to identify the point(s) of regression in the traces to alert a user of programs of behaviors to avoid and/or a developer a point to focus efforts on to patch the responsible program or update other programs around the responsible application.
15 Citations
19 Claims
-
1. A method for automatic program regression detection, comprising:
- gathering, on a user device, system events into a first trace;
in response to observing an update to the user device, gathering system events occurring after the update into a second trace;
in response to observing a regression on the user device, comparing the first trace to the second trace to identify deviations in system events between the first trace and the second trace;
ranking the identified deviations based on their respective run lengths, wherein the identified deviations ranked based on their respective run lengths include at least a first predetermined number of different system events occurring over a run of a second predetermined number of system events;
identifying a start of a longest run of the deviations in system events in the second trace;
indicating the start of the longest run as a regression point;
identifying a program associated with the regression point; and
transmitting the regression point to a support services application associated with the identified program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 18, 19)
- gathering, on a user device, system events into a first trace;
-
8. A system for automatic program regression detection, comprising:
- a processor; and
a memory storage device, including computer code that when executed by the processor is operable to provide;
an instruction collector, configured to observe instructions executed by the processor and organize the instructions observed into a plurality of traces;
an instruction normalizer, in communication with the instruction collector, configured to group pluralities of instructions into instructional blocks according to a function index; and
a trace comparator, in communication with the instruction normalizer, configured to identify deviations in the instructional blocks of a first trace of the plurality of traces from the instructional blocks of a second trace of the plurality of traces, wherein the trace comparator is further configured to;
rank the identified deviations based on their respective run lengths, wherein the identified deviations ranked based on their respective run lengths include at least a first predetermined number of different system events occurring over a run of a second predetermined number of system events;
indicate the start of the longest run of the identified deviations as a regression point;
identify a program associated with the regression point; and
transmit the regression point to a support services application associated with the identified program. - View Dependent Claims (9, 10, 11, 12, 13)
- a processor; and
-
14. A computer readable storage device including instructions that when executed by a processing unit perform steps for automatic program regression detection, comprising:
- gathering, on a user device, system events into a first trace;
in response to observing an update to the user device, gathering system events occurring after the update into a second trace;
in response to observing a regression on the user device, comparing the first trace to the second trace to identify deviations in system events between the first trace and the second trace;
ranking the identified deviations based on the respective run lengths of each identified deviation, wherein the identified deviations ranked based on their respective run lengths include at least a first predetermined number of different system events occurring over a run of a second predetermined number of system events;
identifying a start of a longest run of the deviations in system events in the second trace;
indicating the start of the longest run as a regression point;
identifying a software program associated with the regression point; and
transmitting the regression point to a support services application associated with the identified software program. - View Dependent Claims (15, 16, 17)
- gathering, on a user device, system events into a first trace;
Specification