什么是动态代码分析? [英] What is Dynamic Code Analysis?

查看:151
本文介绍了什么是动态代码分析?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

什么是动态代码分析?

它与静态代码分析(即,它可以捕获哪些不能被静态捕获的内容)?

How is it different from Static Code Analysis (ie, what can it catch that can't be caught in static)?

我听说过边界检查和内存分析-这些是什么?

I've heard of bounds checking and memory analysis - what are these?

使用动态分析检查其他哪些东西?

What other things are checked using dynamic analysis?

-Adam

推荐答案

简单地说,静态分析基于源代码收集信息,而动态分析基于

Simply put, static analysis collect information based on source code and dynamic analysis is based on the system execution, often using instrumentation.


  • 是能够检测在静态分析中无法检测到的依赖项。例如:使用反射,依赖项注入,多态性的动态依赖项。

  • 可以收集时间信息。

  • 使用实际输入数据进行交易。在静态分析期间,很难不知道哪些文件将作为输入传递,哪些Web请求将到达,用户将单击什么,等等。


  • 可能会对应用程序的性能产生负面影响。

  • 不能保证完整的覆盖范围源代码,因为它的运行是基于用户交互或自动测试的。

有很多动态分析市场上的工具,是调试器中最臭名昭著的工具。另一方面,它仍然是一个学术研究领域。有许多研究人员正在研究如何使用动态分析来更好地理解软件系统。有一个年度研讨会专门讨论依赖性分析。

There's many dynamic analysis tools in the market, being debuggers the most notorious one. On the other hand, it's still an academic research field. There's many researchers studying how to use dynamic analysis for better understanding of software systems. There's an annual workshop dedicated to dependency analysis.

这篇关于什么是动态代码分析?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆