The document discusses generating characterization tests for legacy code without existing tests. It recommends creating characterization tests that capture the actual behavior of code by using sample inputs and asserting expected outputs. This helps protect legacy code from unintended changes by acting as a change detector. An example test is shown that characterizes the behavior of a CalcUtil method by passing sample inputs and asserting the expected output.