Verifying data structure consistency across computing environments
According to one aspect of the present disclosure a system and technique for verifying data structure consistency across computing environments is disclosed. The system includes: a processor and a compatibility tool. The compatibility tool is executable by the processor to: generate a first signature for a data structure corresponding to a first computing environment; and generate a second signature for the data structure corresponding to a second computing environment. The processor is operable to compare the first and second signatures and, responsive to a disparity between the first and second signatures, indicate a change to the data structure between the first and second computing environments.
1. A system, comprising:
a processor; and
a compatibility tool executable by the processor to:
compute and generate a first signature from a data structure corresponding to a first computing environment; and
compute and generate a second signature from the data structure corresponding to a second computing environment; and
compare the first and second signatures and, responsive to a disparity between the first and second signatures, indicate an inconsistency of the data structure between the first and second computing environments.
2. The system of claim 1 , wherein the compatibility tool is executable to:
expand the data structure to identify nested data structure elements; and
generate the first and second signatures based on the expanded data structure.
3. The system of claim 1 , further comprising a compiler operable to generate debug data from compiling the data structure, and wherein the compatibility tool is operable to generate the first and second signatures based on the debug data.
4. The system of claim 1 , further comprising a compiler operable to generate debug data from compiling the data structure, and wherein the compatibility tool is operable to:
output an expanded data structure based on the debug data; and
generate the first and second signatures based on the expanded data structure.
5. The system of claim 1 , further comprising a compiler operable to generate debug data from compiling the data structure, and wherein the compatibility tool is operable to:
identify each data structure element from the debug data;
responsive to identifying that an identified data structure element includes a nested data structure element, expand the nested data structure element;
output an expanded data structure including the identified data structure elements and expanded nested data structure elements; and
generate the first and second signatures based on the expanded data structure.
6. The system of claim 1 , wherein the first computing environment comprises a first version of an operating system, and wherein the second computing environment comprises a second version of the operating system, and wherein the first and second signatures are compared to identify a disparity of the data structure between the first and second versions of the operating system.
7. A computer program product for verifying data structure consistency across computing environments, the computer program product comprising:
a computer readable storage memory having computer readable program code embodied therewith, the computer readable program code comprising computer readable program code configured to:
compute and generate a first signature from a data structure corresponding to a first computing environment;
compute and generate a second signature from the data structure corresponding to a second computing environment;
compare the first and second signatures; and
responsive to a disparity between the first and second signatures, indicate an inconsistency of the data structure between the first and second computing environments.
8. The computer program product of claim 7 , wherein the computer readable program code is configured to:
generate debug data from compiling the data structure; and
generate the first and second signatures based on the debug data.
9. The computer program product of claim 7 , wherein the computer readable program code is configured to:
generate debug data from compiling the data structure;
output an expanded data structure based on the debug data; and
generate the first and second signatures based on the expanded data structure.
10. The computer program product of claim 7 , wherein the computer readable program code is configured to:
generate debug data from compiling the data structure,
identify each data structure element from the debug data;
responsive to identifying that an identified data structure element includes a nested data structure element, expand the nested data structure element;
output an expanded data structure including the identified data structure elements and expanded nested data structure elements; and
generate the first and second signatures based on the expanded data structure.
11. The computer program product of claim 7 , wherein the computer readable program code is configured to:
generate the first signature corresponding to the data structure in the first computing environment associated with a first version of an operating system;
generate the second signature corresponding to the data structure in the second computing environment associated with a second version of the operating system; and
compare the first and second signatures to identify a disparity of the data structure between the first and second versions of the operating system.