diffkemp
diffkemp copied to clipboard
Enhance and update `diffkemp-out.yaml` file
diffkemp-out.yaml is a file that we create during the comparison of the snapshot. It contains information about semantic differences
- what compared function has semantic differences,
- in which function/macro/type is the semantic difference located,
- callstack -- showing how is the semantically differing function used by compared function.
found by DiffKemp and information about the location of function definitions that are mentioned in the results/differences.
The file is created in YamlOutput class and the file format is following:
old-snapshot: # Absolute path to the snapshot directory with the old program version
new-snapshot: # Absolute path to the snapshot directory with the new program version
results: # List of functions compared as semantically non-equal
- function: # Name of the analysed function
diffs: # List of found differences
- function: # Name of differing symbol (function/macro/type)
old-callstack: # Call stack for the old program version
- name: ... # Name of called/used symbol (function/type/macro)
file: ... # Relative path to a file in which the symbol is called/used
line: ... # Line on which the symbol is called/used
- # ...
new-callstack: # Call stack for the new program version
- # ...
- # ...
- # ...
definitions: # Dictionary with definition locations for previously mentioned symbols
<name>: # Name of symbol
kind: # Kind of symbol (function/type/macro)
old: # Information about definition location in the old program version
file: # Relative path to the file containing the symbol definition
line: # Line number where the symbol definition starts
end-line: # Line number where the symbol definition ends
new: # Information about definition location in the new program version
file: # ...
line: # ...
end-line: # ...
# ...
The file could be updated/enhanced to be more useful.