Dev: Static vs Dynamic Code Analysis



Static Code Analysis

Static analysis involves checking the source code without executing it. That means it focuses on the internal structure than on the functional aspect of the code. It is normally performed in a non-runtime environment i.e. it is not done when the program is running.

Static analysis involves checking the source code, byte code or application binaries for any possible susceptibilities. While performing this test, application data and control paths are created and then checked for any security weaknesses. 


Dynamic Code Analysis

Dynamic code analysis – also called Dynamic Application Security Testing (DAST) – is designed to test a running application for potentially exploitable vulnerabilities. DAST tools to identify both compile time and runtime vulnerabilities, such as configuration errors that only appear within a realistic execution environment.


Static AnalysisDynamic Analysis
Done at the initial stage before executionIt is done at a later stage during execution
Done at a non-runtime Done in runtime
Internal observation of the structureExternal observation of performance
Focuses on Structural aspectsFocuses on functional aspects
Application data and control paths are created to check vulnerabilitiesA simulated attack is mounted on the program to check how it responds and then susceptibilities are identified
As the name suggests, it is a fixed approach with decided parametersAs the name suggests, it is dynamic in nature and largely depends on challenges faced during execution


No comments:

Theme images by merrymoonmary. Powered by Blogger.