Static code analysis