static analysis techniques