A method, implemented at a computer system that includes at least one processor, for diffing a plurality of subject replayable execution traces against a plurality of comparison replayable execution traces, the method comprising:
- accessing, by the at least one processor, a plurality of subject replayable execution traces, and accessing a plurality of comparison replayable execution traces, wherein each subject replayable execution trace of the plurality of subject replayable execution traces represents a corresponding sequence of executable instructions that executed as part of a corresponding executing entity;
- identifying, by the at least one processor, a first set of mappings among the plurality of subject replayable execution traces, wherein each mapping of the first set of mappings identifies two or more corresponding subject sections of consecutive executable instructions within the plurality of subject replayable execution traces that execute equivalently, and wherein each corresponding subject section of the consecutive executable instructions in each mapping of the first set of mappings is from a different subject replayable execution trace of the plurality of subject replayable execution traces;
- based on the first set of mappings, identifying, by the at least one processor, a plurality of distinct subject sections within the plurality of subject replayable execution traces, wherein each distinct subject section of the plurality of distinct subject sections either (i) lacks a mapping in the first set of mappings, or (ii) is a representative subject section from a different mapping in the first set of mappings;
- identifying, by the at least one processor, a second set of mappings among the plurality of comparison replayable execution traces, wherein each mapping of the second set of mappings identifies two or more corresponding comparison sections of consecutive executable instructions within the plurality of comparison replayable execution traces that execute equivalently, and wherein each corresponding comparison section of the consecutive executable instructions in each mapping of the second set of mappings is from a different comparison replayable execution trace of the plurality of comparison replayable execution traces;
- based on the second set of mappings, identifying, by the at least one processor, a plurality of distinct comparison sections within the plurality of comparison replayable execution traces, wherein each distinct comparison section of the plurality of distinct comparison sections either (i) lacks a mapping in the second set of mappings, or (ii) is a representative comparison section from a different mapping in the second set of mappings;
- comparing, by the at least one processor, the plurality of subject replayable execution traces and the plurality of comparison replayable execution traces, including at least comparing each distinct subject section of the plurality of distinct subject sections against one or more distinct comparison sections of the plurality of distinct comparison sections;
- based on the comparing, determining, by the at least one processor, a comparison status of each distinct subject section of the plurality of distinct subject sections, including determining at least one of whether each distinct subject section of the plurality of distinct subject sections is (i) equal to at least one corresponding distinct comparison section of the plurality of distinct comparison sections, or (ii) different than the plurality of distinct comparison sections, wherein the determined comparison status of at least one particular distinct subject section of the plurality of distinct subject sections with respect to at least one particular corresponding distinct comparison section of the plurality of distinct comparison sections is applied to (i) each additional comparison section of the plurality of distinct comparison sections to which the at least one particular corresponding distinct comparison section of the plurality of distinct comparison sections is mapped in the second set of mappings, and to (ii) each additional subject section of the plurality of distinct subject sections to which the at least one particular corresponding distinct subject section of the plurality of distinct subject sections is mapped in the first set of mappings;
- and
- storing, by the at least one processor, a result of diffing the plurality of subject repayable execution traces against the plurality of comparison repayable execution traces, including storing an indicia of a result of the determining and providing the indicia of the result of the determining to a software component at the computer system, or to another computer system, and which is configured to cause the computer system or the other computer system to operate on the determined comparison status of one or more distinct subject sections of the plurality of distinct subject sections.