2012-04-25 91 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

相關問題