返回信息流1. dynamic
2. static
3. online
4. offline
5. on the fly
6. just in time
7. ahead of time
大家都是怎么理解的呢? 恳求指点呀。
lz先抛个砖:
对于一些程序分析工具,我们常常说dynamic/static analysis,说的是程序的分析是在程序运行时进行,或者不运行程序而静态的分析程序,对于dynamic analysis有时也说profiling。
大牛们赏脸接一下。。。
这是一条镜像帖。来源:北邮人论坛 / cpp / #82770同步于 2014/9/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
经常看见这些词,却又不那么清楚
zx723
2014/9/22镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
今天去上java选修课 听说了just in time
【 在 zx723 (zx) 的大作中提到: 】
: [size=3]1. dynamic
: 2. static
: 3. online
: ...................
【 在 wangxiaobupt 的大作中提到: 】
: 今天去上java选修课 听说了just in time
:
对于just in time, 我见过的是在说起编译的时候。 自己的理解就是运行时编译。。。
同不了解,最近在用coverity和flexint, 两个都是static analysis, 也就是说在不需要程序编译的情况下,这些软件节省了大量的编译运行时间,通过语法扫描,详细的给出bug报告。后台如何实现的不是太清楚,通过使用,个人感觉coverity是通过程序自己构建一系列的路径流程,比如说函数流程,数据流等进行所有的可能性分析,然后匹配其数据库中的大量bug定义。不过静态分析的一个问题是虽然准确率很高,但是还是会产生一部分的所谓false positive.嗯~貌似能想到的就这么多。
【 在 unnugi 的大作中提到: 】
: 同不了解,最近在用coverity和flexint, 两个都是static analysis, 也就是说在不需要程序编译的情况下,这些软件节省了大量的编译运行时间,通过语法扫描,详细的给出bug报告。后台如何实现的不是太清楚,通过使用,个人感觉coverity是通过程序自己构建一系列的路径流程,比如说函数流程,数据流等进行所有的可能性分析,然后匹配其数据库中的大量bug定义。不过静态分析的一个问题是虽然准确率很高,但是还是会产生一部分的所谓false positive.嗯~貌似能想到的就这么多。
恩, 静态分析的优点就是分析的全(所有可见代码都可以分析到,当然也就包含一些死代码。相比之下动态分析就只能分析执行路径上的代码),静态分析的缺点也很明显,就是分析的不准确,因为很多信息只能到运行时才能拿到。