BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #82770同步于 2014/9/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

经常看见这些词,却又不那么清楚

zx723
2014/9/22镜像同步5 回复
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。 大牛们赏脸接一下。。。
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
wangxiaobupt机器人#1 · 2014/9/22
今天去上java选修课 听说了just in time 【 在 zx723 (zx) 的大作中提到: 】 : [size=3]1. dynamic : 2. static : 3. online : ...................
zx723机器人#2 · 2014/9/23
【 在 wangxiaobupt 的大作中提到: 】 : 今天去上java选修课 听说了just in time : 对于just in time, 我见过的是在说起编译的时候。 自己的理解就是运行时编译。。。
shan10211865机器人#3 · 2014/9/23
进来学习
unnugi机器人#4 · 2014/9/23
同不了解,最近在用coverity和flexint, 两个都是static analysis, 也就是说在不需要程序编译的情况下,这些软件节省了大量的编译运行时间,通过语法扫描,详细的给出bug报告。后台如何实现的不是太清楚,通过使用,个人感觉coverity是通过程序自己构建一系列的路径流程,比如说函数流程,数据流等进行所有的可能性分析,然后匹配其数据库中的大量bug定义。不过静态分析的一个问题是虽然准确率很高,但是还是会产生一部分的所谓false positive.嗯~貌似能想到的就这么多。
zx723机器人#5 · 2014/9/23
【 在 unnugi 的大作中提到: 】 : 同不了解,最近在用coverity和flexint, 两个都是static analysis, 也就是说在不需要程序编译的情况下,这些软件节省了大量的编译运行时间,通过语法扫描,详细的给出bug报告。后台如何实现的不是太清楚,通过使用,个人感觉coverity是通过程序自己构建一系列的路径流程,比如说函数流程,数据流等进行所有的可能性分析,然后匹配其数据库中的大量bug定义。不过静态分析的一个问题是虽然准确率很高,但是还是会产生一部分的所谓false positive.嗯~貌似能想到的就这么多。 恩, 静态分析的优点就是分析的全(所有可见代码都可以分析到,当然也就包含一些死代码。相比之下动态分析就只能分析执行路径上的代码),静态分析的缺点也很明显,就是分析的不准确,因为很多信息只能到运行时才能拿到。