Symbol-matching between software versions
AssigneeAurora Labs Ltd.
InventorCarmit Sahar
Life of this patent
Estimating the term…
Abstract
Disclosed herein are techniques for matching symbols between code sets. Techniques include accessing a first symbol associated with a first version of software; accessing a second symbol associated with a second version of the software; comparing the first symbol to the second symbol; determining, based on the comparing, whether the second symbol is a functional equivalent of the first symbol; and performing a designation action based on whether the second symbol is a functional equivalent of the first symbol.
Claims16
A non-transitory computer-readable medium including instructions that, when executed by at least one processor, cause the at least one processor to perform operations for matching symbols between code sets, the operations comprising:
- accessing first symbols associated with a first version of software;
- accessing second symbols associated with a second version of the software;
- making first comparisons between a portion of the first symbols and a portion of the second symbols;
- determining, based on the first comparisons, that a first subset of the first symbols are functional equivalents with a first subset of the second symbols;
- making second comparisons between a second subset of the first symbols and a second subset of the second symbols to determine whether any of the second subset of the first symbols are functional equivalents with the second subset of the second symbols, wherein the second comparisons use more computational resources relative to the first comparisons;
- and
- reorganizing code representing the second version of the software based on the first and second comparisons, wherein:
- reorganizing the code representing the second version of the software comprises applying a renaming operation;
- and
- the renaming operation reduces at least one of an amount of software changes associated with the code representing the second version, a software size associated with the code representing the second version, an amount of compilation associated with the code representing the second version, or an amount of re-compilation associated with the code representing the second version.
A computer-implemented method for matching symbols between code sets, comprising:
- accessing first symbols associated with a first version of software;
- accessing second symbols associated with a second version of the software;
- making first comparisons between a portion of the first symbols and a portion of the second symbols;
- determining, based on the first comparisons, that a first subset of the first symbols are functional equivalents with a first subset of the second symbols;
- making second comparisons between a second subset of the first symbols and a second subset of the second symbols to determine whether any of the second subset of the first symbols are functional equivalents with the second subset of the second symbols, wherein the second comparisons use more computational resources relative to the first comparisons;
- and
- reorganizing code representing the second version of the software based on the first and second comparisons, wherein:
- reorganizing the code representing the second version of the software comprises applying a renaming operation;
- and
- the renaming operation reduces at least one of an amount of software changes associated with the code representing the second version, a software size associated with the code representing the second version, an amount of compilation associated with the code representing the second version, or an amount of re-compilation associated with the code representing the second version.
Dependencies are inferred from the claim text.