The Pattern Detector helps assess the complexity of an AEM upgrade.
How it works
Before an upgrade, the Pattern Detector scans the existing code base for anything that would break. It then produces a list of action items for the issues it finds, with a detailed explanation of each violation and guidance on fixing it.
Why it helps
AEM 6.4 reserves some paths and Granite code for internal AEM use. The Pattern Detector checks for anything at those paths that the upgrade would overwrite, and for any API use that is not compatible with 6.4. Running it is a mandatory step when upgrading to AEM 6.4.

Installing and configuring it
The Pattern Detector is available for AEM 6.1, 6.2 and 6.3 and is downloaded with an Adobe ID. It is installed through the AEM Package Manager. Adobe's AEM 6.4 documentation on the Pattern Detector has the full installation and configuration steps.
Reading the report
In the web console, open Status > Pattern Detector. Reports are available as plain text or JSON.
Some of the report codes
OCU | Deprecated usages |
ECU | Suspicious overlays, overrides and references |
LOCP | Packages that overwrite /libs |
NBCC | Non-backward-compatible changes |
CAV | Advises reducing overlaid content in general, for security reasons |
Where to run it
Run the Pattern Detector on a stage environment rather than production, to avoid slowing production down.
Moving from another CMS rather than an older AEM? See steps to migrate a third-party CMS website to AEM.