model-checking / cbmc-viewer

CBMC Viewer scans the output of CBMC and produces a browsable summary of its findings, making it easy to root cause the issues it finds.
https://model-checking.github.io/cbmc-viewer/
Apache License 2.0
32 stars 11 forks source link

Improve symbol table parser #10

Closed markrtuttle closed 4 years ago

markrtuttle commented 4 years ago

Symbols are recorded in the symbol table with a mangled name and a pretty name. Most cbmc output uses the pretty name, so modify the symbol table parser to use the pretty name for a symbol if it exists.

Also clean up the symbol table parser to break the cbmc symbol table output into a sequence of definitions and then break each definition into a sequence of lines. The prior implementation just scanned the cbmc output as a sequence of lines, which made grouping symbol names and locations ad hoc and error prone.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.