| Syntax | Code cannot be parsed | Typos, missing brackets, wrong separators | Linter output, IDE highlights |
| Runtime | Code crashes during execution | Null/undefined access, type errors, missing files | Stack trace line numbers, try-catch |
| Logic | Code runs but produces wrong results | Off-by-one, wrong condition, incorrect algorithm | Unit tests, manual trace with sample input |
| Integration | Components fail to communicate | API contract mismatch, version incompatibility, CORS | Network tab, API logs, version check |
| Performance | Code is correct but too slow | N+1 queries, unbounded loops, missing index | Profiler, query plan, Big-O analysis |
| Security | Code has vulnerability | Injection, auth bypass, data exposure | Security scanner, OWASP checklist |
| Configuration | Environment is misconfigured | Wrong env vars, missing secrets, port conflicts | Env dump, config validation, port check |
| Concurrency | Race conditions or deadlocks | Shared mutable state, missing locks, callback ordering | Stress test, thread dump, race detector |
| Resource | Out of memory, disk, handles | Memory leaks, unclosed connections, large payloads | Resource monitor, heap dump, lsof |