Discovering symbolic execution
Let's start this chapter with a little bit of theory. In order to learn how to symbolically test your code in Bosque, you need to know what symbolic execution is. In fact, this concept is not so new. It was introduced in the 1970s, so it's about 50 years old. Symbolic execution is a program analysis technique that can be used to determine what inputs influence the control flow and in what way. It can also generate test inputs that may cause errors in your application to help diagnose any potential problems. It's a very powerful algorithm that in some way changes the way we think about tests.
Normally, when we write unit tests, we provide some example inputs and make assertions in order to ensure that the result of a function is as expected. Using the symbolic testing technique, we are able to discover inputs that will cause every path of a function to execute. If any of the paths will eventually lead to an error being thrown, the symbolic...