custom code analysis