# Friday Q&A 2018-06-29: Debugging with C-Reduce

DevFeed: [Friday Q&A 2018-06-29: Debugging with C-Reduce](<https://devfeed.tech/articles/friday-q-a-2018-06-29-debugging-with-c-reduce-30628.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/friday-qa-2018-06-29-debugging-with-c-reduce.html>)

Author: Mike Ash

Published: 2018-06-29T13:35:00Z

Content type: tutorial

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [debugging](<https://devfeed.tech/topics/debugging.md>), [C](<https://devfeed.tech/topics/c.md>), [test](<https://devfeed.tech/topics/test.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [code](<https://devfeed.tech/tags/code.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [dockerignore-usage](<https://devfeed.tech/tags/dockerignore-usage.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [shell-script](<https://devfeed.tech/tags/shell-script.md>), [test](<https://devfeed.tech/tags/test.md>), [transformation](<https://devfeed.tech/tags/transformation.md>)

## AI overview

This tutorial explains how C-Reduce automatically shrinks programs into reduced test cases. It covers reduction passes, scriptable interestingness tests, installation, and a simple C example for isolating a compiler warning or bug.

## Source excerpt

Debugging a complex problem is tough, and it can be especially difficult when it's not obvious which chunk of code is responsible. It's common to attempt to produce a reduced test case in order to narrow it down. It's tedious to do this manually, but it's also the sort of thing computers are really good at. C-Reduce is a program which automatically takes programs and pares them down to produce a reduced test case. Let's take a look at how to use it. (Read More)