codebase analysis