US 12,367,033 B2
Identifying significant code changes via syntactic representation
Janos Bonic, Vienna (AT); and Sanja Bonic, Vienna (AT)
Assigned to Red Hat, Inc., Raleigh, NC (US)
Filed by Red Hat, Inc., Raleigh, NC (US)
Filed on Sep. 27, 2022, as Appl. No. 17/953,967.
Prior Publication US 2024/0103854 A1, Mar. 28, 2024
Int. Cl. G06F 9/44 (2018.01); G06F 8/71 (2018.01)
CPC G06F 8/71 (2013.01) 14 Claims
OG exemplary drawing
 
1. A method comprising:
generating, by a computing system comprising one or more processor devices, a first syntactic representation of a first version of a codebase and a second syntactic representation of a second version of the codebase, the codebase comprising a plurality of units of software instructions, wherein the first and second syntactic representations respectively represent a functionality, when executed at runtime, of each unit of software instructions of the plurality of units of software instructions of the first and second versions of the codebase;
comparing a portion of the first syntactic representation to a corresponding portion of the second syntactic representation to identify a plurality of non-whitespace modifications made to non-whitespace characters of a first unit of software instructions of the plurality of units of software instructions, wherein the portion of the first syntactic representation represents a first version of the first unit of software instructions and the corresponding portion of the second syntactic representation represents a second version of the first unit of software instructions;
obtaining the first version and the second version of the first unit of software instructions;
based on a programming language in which the first unit of software instructions is written, performing a language-specific analysis to identify a first non-whitespace modification of the plurality of non-whitespace modifications as being a non-substantive modification that does not affect the functionality of the first unit of software instructions when executed at runtime; and
generating information descriptive of a subset of the plurality of non-whitespace modifications, wherein the first non-whitespace modification is filtered from the subset of non-whitespace modifications based on the language-specific analysis.