STEPs to use clang-tidy:
Generate compile_commands.json with CMake option: -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON.
This generates a compile_commands.json in your build directory at configure time.

install clang and clang tools, that includes clang-tidy and run-clang-tidy.py.
(In Archlinux: sudo pacman -S clang, in other systems might be clang-extra-tools or similar)
Docs: http://clang.llvm.org/extra/clang-tidy/

And in the build folder of slicer, execute:run-clang-tidy.py -header-filter='.*' -checks='-*,modernize-use-nullptr' -fix
This will iteratively check files for updates. It takes a while. The sources are only modified at the end of the process, so you could cancel anytime before with no consequences.

Steps To Reproduce

Easy way: Use ITK_DIR to point to ITK5

Additional Information

It is not perfect, so there are cases where manual substitution is required, also it doesn't work on comments.
Extra steps:
:s/NULL/nullptr/c
Files:
Libs/vtkITK/vtkITKArchetypeImageSeriesReader.cxx
Libs/RemoteIO/vtkHTTPHandler.cxx
:s/0/nullptr/c
Libs/MRML/Core/vtkITKTransformConverter.h
Libs/MRML/Core/vtkMRMLTransformStorageNode.cxx