dynamic analysis techniques