Dynamic analysis involves evaluating a system or component based on its behavior during execution.
This type of analysis is particularly useful for identifying issues related to memory usage and pointer
management. The focus is on runtime behaviors that can't be detected through static analysis alone.
Identifiable Issues via Dynamic Analysis:
System Memory Not Released (Memory Leaks):
System memory not released when it is no longer needed (Option C) can be identified through
dynamic analysis. Tools and techniques used in dynamic analysis can track memory allocation and
deallocation during program execution, revealing instances where memory is allocated but not freed
properly.
Pointers in a Program (Dangling Pointers):
Pointers in a program that are no longer accurate and must not be used (Option D) can also be
identified through dynamic analysis. This includes issues like dangling pointers (pointers that refer to
memory that has been freed) or wild pointers (uninitialized pointers). Dynamic analysis tools can
detect when pointers are used incorrectly or point to invalid memory locations during runtime.
Explanation of Incorrect Options:
A . Objects having too much or too little visibility into parent classes: This is more related to design
and structure, typically identified via static analysis or code reviews rather than dynamic analysis.
B . Repetition of code within a single component or module: This is a code quality issue often
detected through static code analysis or manual code review.
E . Code that cannot be reached and so will not be executed: This is typically identified through static
analysis tools that perform code coverage analysis or by manual code inspection.
Reference:
Although specific