which type of tools perform static analysis of code