1. A computer implemented method comprising: storing patterns of inefficiently coded statements; identifying source code comprising program statements; comparing the program statements with the patterns to identify program statements that are inefficiently coded; monitoring an execution of a compiled version of the source code to identify program statements that cause performance issues; and comparing the identified program statements that are inefficiently coded with the identified program statements that cause performance issues to determine program statements that are inefficiently coded and cause performance issues.