Definition
Methods of Analyzing Programs
Dynamic Analysis
Verifying through multiple executions
Dynamic analysis is a method of analyzing the behavior of software during its execution.
When software is running, dynamic analysis tools are used to monitor and analyze the program's behavior, state, data flow, and more.
Pros
By analyzing the actual behavior of running software, it's possible to identify issues that occur in real environments.
Cons
Analyzing the behavior of running software can impact performance.
It's limited to the execution environment.
It can require more time and resources compared to static analysis.
Static Analysis
Continuously reading the code visually
Static analysis is a method of analyzing source code in a state where the software isn't being executed.
Using static analysis tools, the structure of the code, compliance with rules, potential bugs, security vulnerabilities, and more are identified and analyzed.
Pros
Since it analyzes the source code, it's not limited to the execution environment. It can identify code defects and security vulnerabilities beforehand.
Cons
It's heavily influenced by the skills of the analyzer.