Software Error Detection Through Testing and Analysis