diffkemp icon indicating copy to clipboard operation
diffkemp copied to clipboard

Enhance and update `diffkemp-out.yaml` file

Open PLukas2018 opened this issue 3 months ago • 0 comments

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.

PLukas2018 avatar Sep 16 '25 10:09 PLukas2018