Software Error Detection through Testing and Analysis