what are static analysis tools