diffblue-cbmc/scripts
Daniel Poetzl 75fe74b5dd Script to find regression tests that cover given source lines
An intended use case is to find regression tests that need to be adapted when a
loss of coverage in some files is observed when a new feature is merged.

For example, when improving the constant propagator to propagate more
operations, some existing tests that were intended to test the constraint
encoding of those operations might then be solved via constant propagation.
Thus, the existing tests need to be adapted to use non-constants as inputs.
2019-08-01 18:05:59 +01:00
..
bash-autocomplete Add zsh support to auto-complete 2017-07-26 23:32:41 +01:00
benchmark Make process_wrapper.sh executable 2019-03-18 10:16:21 +00:00
perf-test perf-test: benchexec can use all NUMA nodes 2018-12-28 07:34:13 +00:00
pretty-printers/gdb Add string number to output and check it's valid 2019-07-24 19:04:14 +01:00
README.md Add gdb pretty-printers for irep_idt and instructiont 2019-03-11 12:58:00 +00:00
build_doxygen.sh Fix broken doxygen download link 2018-12-13 13:01:22 +00:00
cadical-patch Add support for CaDiCaL 2018-04-22 20:31:50 +01:00
cbmc.spec more 2011-06-07 13:40:22 +00:00
compare_postprocessor_output.py Update postprocessor comparison script 2017-06-06 15:13:09 +01:00
cpplint.py Remove linter braces rule 2019-07-17 13:51:39 +01:00
diff_to_added_lines.py Add check for missing unidiff dependency 2019-04-11 15:11:56 +01:00
do_doc_convert.py Add doc conversion driver script 2017-06-06 15:13:09 +01:00
doxy_merge_driver.sh Add merge driver 2017-08-11 16:37:10 +01:00
expected_doxygen_warnings.txt Update parameter documentation 2018-11-16 10:03:55 +00:00
extract_type_header.py Add test for extract_type_header.py script 2019-06-24 11:49:02 -04:00
filter_by_lines.py Improve filter_by_diff.py and friends 2017-09-06 11:18:14 +01:00
filter_expected_warnings.py Treat unexpected Doxygen output as warnings 2018-12-03 16:37:18 +00:00
find-covering-tests.py Script to find regression tests that cover given source lines 2019-08-01 18:05:59 +01:00
format_classpath.sh JBMC: Moved format_classpath.sh to scripts/format_classpath.sh 2018-06-24 15:35:02 +01:00
generate_vcxproj Update generate_vcxproj to work with current source tree 2019-05-30 11:29:53 +00:00
glucose-syrup-patch Remove trailing `;` from namespace closing bracket 2018-05-10 12:58:05 +02:00
glucose_CMakeLists.txt Silence all Visual Studio warnings when building Minisat or Glucose 2019-01-23 19:38:17 +00:00
ls_parse.py ls_parse: improve debugging by printing a trace 2018-07-12 11:41:21 +02:00
make-rpm more 2011-06-07 13:40:22 +00:00
minisat-2.2.1-patch Silence Minisat's use of realloc on non-POD and fix and use its xrealloc 2018-06-05 09:05:16 +00:00
minisat2_CMakeLists.txt Silence all Visual Studio warnings when building Minisat or Glucose 2019-01-23 19:38:17 +00:00
publish_doc.sh Add script for uploading documentation 2018-03-20 12:16:03 +00:00
reformat_docs.py Remove duplication from conversion script 2017-06-13 13:14:24 +01:00
run_diff.sh Use new Doxygen script in Travis CI 2018-11-08 15:25:56 +00:00
run_doxygen.sh Add doxygen version check 2018-11-09 11:17:31 +00:00
run_lint.sh Rename run_lint to run_diff 2017-07-03 17:10:23 +01:00
string_table_check.sh Check that the string table does not include unused entries 2018-04-25 15:04:49 +01:00
travis_lint.sh Travis clang-format, cpplint: Use the merge base 2019-05-31 21:43:11 +00:00
vcxproj.1 Update generate_vcxproj to work with current source tree 2019-05-30 11:29:53 +00:00
vcxproj.2 use full template 2013-06-16 12:20:43 +00:00

README.md

A collection of utility scripts and script applications.

pretty-printers

GDB:

Pretty-printers for CBMC that enable easier debugging in IDEs and mitigate certain crashes due to the way some objects' memory is shared.

Currently it deals with:

  • irep_idt
  • dstring
  • instructiont

To install:

  1. Navigate to /pretty-printers/gdb.
  2. Run install.py with python 3+.
  3. If an exception occurs, create an empty '.gdbinit' file in your home folder, and copy/paste the blob of code at the top of the install.py file.

The .gdbinit file is used by GDB during start-up to run any initial commands or scripts, and the code injects the pretty-printers during that.

Nothing else is required to get the pretty-printers to work, beside using GDB to debug the code.