| FazBrowse Wikipedia Viewer | Main Page | | |
| Viewing: https://en.wikipedia.org/wiki/Dynamic_program_analysis |
| Contents |
|---|
| Types |
| Functional testing |
| Code coverage |
| Dynamic testing |
| Dynamic data-flow analysis |
| Invariant inference |
| Security analysis |
| Concurrency errors |
| Program slicing |
| Program execution | |
|---|---|
| General concepts | |
| Types of code | |
| Compilation strategies | |
| Notable runtimes | |
|
|
| Notable compilers & toolchains | |
|
|
TypeseditFunctional testingeditFunctional testing includes relatively common programming techniques such as unit testing, integration testing and system testing. Code coverageeditComputing the test code coverage identifies code that is not tested. Although this analysis identifies code that is not tested, it does not determine whether the tested code is adequately tested. Code can be executed even if the tests do not actually verify correct behavior.
Dynamic testingeditDynamic symbolic execution (also known as DSE or concolic execution) involves executing a test program on a concrete input, collecting the path constraints associated with the execution, and using a constraint solver (generally, an SMT solver) to generate new inputs that would cause the program to take a different control-flow path, thus increasing code coverage of the test suite. DSE can be considered a type of fuzzing ("white-box" fuzzing). Dynamic data-flow analysiseditDynamic data-flow analysis tracks the flow of information from sources to sinks. Forms of dynamic data-flow analysis include dynamic taint analysis and even dynamic symbolic execution. Invariant inferenceeditDaikon is an implementation of dynamic invariant detection. Daikon runs a program, observes the values the program computes, and then reports properties that were true during the observed executions and are thus likely true over all executions. Security analysiseditDynamic analysis can be used to detect security problems.
Concurrency errorsedit
Program slicingedit
|