| CPC G06F 8/71 (2013.01) [G06F 8/658 (2018.02); G06F 11/3604 (2013.01); G06F 11/3672 (2013.01)] | 16 Claims |

|
1. A method of testing and benchmarking commits made on source code, the method comprising:
extracting commits from a history of a first code repository, the history recording a sequence of commits made on the first code repository, each commit of the sequence of commits including at least one change made on at least one code file in the first code repository,
wherein extracting commits comprises extracting a subset of commits from the history based on a specified criterion, and
wherein the specified criterion includes an allow list that specifies one or more files that are allowed to be modified, and extracting the subset of commits includes extracting commits that modify at least one file specified in the allow list;
combining the extracted commits into a sequence of patches, each patch including changes made on one or more code files that occurred during consecutive commits, wherein each patch includes a plurality of commits;
establishing a connection with a system under test (SUT) having a second code repository, the second code repository corresponding to a historical version of the first code repository before the extracted commits were made; and
sequentially applying the sequence of patches to the second code repository, sequentially applying the sequence of patches including:
applying a patch in the sequence on the second code repository;
monitoring performance of the SUT after applying the patch on the SUT; and
responsive to determining that the SUT performs as expected after applying the patch, applying a next patch in the sequence to the second code repository.
|