Automated unit test generation can help reduce the costs of software bugs, which are estimated to be over $300 billion per year worldwide. Unit tests are most effective when they have high code coverage through techniques like random data generation, search-based testing, and symbolic execution. Tools like EvoSuite and PEX can automatically generate unit tests using these techniques to help with regression testing of legacy code and support test-driven development.