2012-04-25 93 views
3

我想分析运行时具有软件分析的应用程序的行为。据我所知,有两种基本类型的分析技术。首先是基于样本的分析,其次是仪器。 有人可以告诉我应该使用哪一个?我想分析单个应用程序的行为(而不是其他应用程序的行为)。我不关心CPU周期时间,内存分配等性能相关问题。请提供一些工具,可以帮助我。哪种分析技术最适合分析程序行为

我真的很感谢这方面的帮助。

谢谢。

+0

如果您对性能和内存使用不感兴趣,那么您的行为意味着什么? – assylias 2012-04-25 14:30:24

+0

基本上我想测试应用程序的行为在攻击者在应用程序中操作的情况下有何不同。例如,调用上下文树可以在一定程度上描述应用程序的行为。也可能有其他一些方法。 – Ragini 2012-04-25 14:42:30

+0

据我所知,调用上下文树与控制流图类似。你究竟想要做什么?你想看看你的程序如何正常运行,而不是在被利用的时候表现如何? – viking 2012-04-25 18:10:03

回答

1

如果您对控制流感兴趣,则采样不合适(这对于查找性能瓶颈非常有用)。只有仪器可以为控制流提供数据。

应用程序的记录方法级别的时序数据将导致大量的数据,除非您仔细定义应该检测哪些类。

JProfiler有呼叫跟踪器视图,可能适合您的目的,也可参见this question

免责声明:我公司开发JProfiler。

+0

从你给JProfiler的链接看来,它似乎是付费的。你可以建议一些好的开源java分析器吗?我会对分析器提供的调用图表感兴趣。 – Ragini 2012-05-08 09:59:33

相关问题