I am reading about automated bug finding techniques and in (Valgrind) paper it mentions that Valgrind is a dynamic binary instrumentation framework for building dynamic binary analysis tools. This maybe a bit stupid but I am a bit confused about the naming here. What exactly is the difference between instrumentation and analysis ? (I know that they are different words but what is the difference in practice ?)
Share
Instrumentation is collecting data. Analysis is, well, analyzing it. The reason why Valgrind mentions “dynamic” is because there are also static analysis tools that actually analyze the code without running a program whereas Valgrind analyzes a binary code while running a binary.
See also: