摘要:
上周在通读ISSTA 2011论文的时候,发现又有一篇论文使用了Dyninst这种instrumentation framework,目前看到过两篇:A. R. Bernat, K. Roundy and B. P. Miller, "Efficient, sensitivity resistant binary instrumentation," in Proceedings of the 2011 International Symposium on Software Testing and Analysis, Toronto, Ontario, Canada, 201 阅读全文
2011年12月21日
2011年12月20日
摘要:
这篇日志是补充一下看到的一点点经验。这个页面:http://babelfish.arc.nasa.gov/trac/jpf/wiki/user/output中介绍到,jpf的一次运行主要可以生成三类输出:1. application output2. JPF logging3. JPF reporting system其实上面的页面对这三种输出已经讲解得很详细了,但是没有介绍前两种输出在哪里配置。实际上就是在%JPF_HOME%\jpf-core\jpf.properties,打开这个文件,我们可以发现从0-5共6类设置。其中vm.tree_output的设置是在第2部分,log.level的 阅读全文
2011年12月16日
摘要:
今天又结合这里:http://www.sable.mcgill.ca/soot/tutorial/index.html提供的文档,主要学习了Using Soot for profiling: developing a goto Instrumenter和More on profiling两个文档,其实这两个文档也学得不是很懂。但是想记录一点东西:第一篇文档对应的例子是:http://www.sable.mcgill.ca/soot/tutorial/profiler/Main.java下下来以后看到有这样一行代码:PackManager.v().getPack("jtp") 阅读全文
2011年12月14日
摘要:
上周给小组几位师弟、实习生开会的时候,又谈到instrumentation这个现在还没解决的问题。我看过的论文中,对于Java的Instrumentation,大部分研究都在用Soot、JChord,后来想起,看过的论文中还有用BCEL和Javassist的。前两者我们花了很长时间学习,但是到现在效果并不是很好。突然想起应该看看JDK自带的java.lang.instrument这个包,昨天花了点时间学习了一下。在JDK 5之前,相应的包是属于Java Virtual Machine Profiler Interface (JVMPI),在JDK 5之后,改为Java Virtual Mach 阅读全文
2011年12月13日
摘要:
这篇日志继续总结些简单的JPF使用经验:在http://babelfish.arc.nasa.gov/trac/jpf/wiki/projects/jpf-symbc/doc对Symbolic PathFinder进行了最基本介绍,并给出了一个Example.java和Example.jpf的例子。这里摘录一些设置,进行简单的中文解释:# The following JPF options are usually used for SPF as well: # no state matching (设置不使用state matching)vm.storage.class=nil # instr 阅读全文
摘要:
这篇博客的内容也很naive,最近水平越来越低了。我目前在服务器上用的Eclipse是标准版,并没有集成什么Tomcat的插件。几年前自己就用过这个插件,全称叫做"Sysdeo Eclipse Tomcat Launcher plugin",今天发现又把下载和配置忘了,就重新来一遍。这个Plugin的下载页面是:http://www.eclipsetotale.com/tomcatPlugin.html并且最新版本已经支持Tomcat 7了,下载最新版本并解压。按照上面这个页面中介绍,应该将解压后的文件夹"com.sysdeo.eclipse.tomcat_3.3 阅读全文
2011年12月12日
摘要:
这篇日志同样是很简单的经验,今天试着在新服务器上编译jpf-symbc,结果报了十几个编译错误,经过搜索发现了下面这个页面:http://groups.google.com/group/java-pathfinder/browse_thread/thread/634cdbdf310b7666基本判断是jpf-symbc的版本和jpf-core的版本不一致,两个都换成最新版,同样还是在%JPF_HOME%\jpf-symbc目录下运行:bin\ant test(实际上和在这个目录下直接运行ant效果应该一样)就仅仅报一个错。想不通的是:为什么两者版本不一致,会导致编译过程出错。 阅读全文
2011年12月10日
摘要:
这篇日志很简单,考虑到有些师弟在学习JPF,这里总结些经验。在Eclipse中新建"Java Project",在新建的Project的src图标上点击右键——"Import"——"File System"——点击"Browse"并定位到%JPF_HOME%\jpf-core\src\main,选择导入该目录。在新建工程名上点击右键——"Properties"——“Java Build Path”——“Add External JARs”——选择目录%JPF_HOME%\jpf-core\bui 阅读全文
2011年12月8日
摘要:
在Soot的下载页面:http://www.sable.mcgill.ca/soot/soot_download.html中我们可以看到,Soot实际上是依赖于两个框架:Jasmin和Polyglot。对于这两个框架(或软件),我之前不是特别了解,但是在很多地方都可以看到Polyglot,例如,abc(The AspectBench Compiler for AspectJ)就是基于Soot和Polyglot的(怎么这些框架还循环调用?)今天抽了些时间简单搜索了一下,找到了上面两个框架的主页,了解到:前者最早是基于这本书:Jon Meyer. Java Virtual Machine. O 阅读全文
2011年12月2日
摘要:
今天发现在sourceforge上的Kieker更新到1.4版本了,这个工具是德国基尔大学的软件研究组基于AspectJ开发的监控框架,使用起来非常方便,我们小组已经用了有两年的时间。这里转载一下Kieker提供的基于JPetStore的J2EE监控平台的例子,方便大家在5分钟之内搭建自己的实验平台。Kieker在sourceforge上的主页是:http://sourceforge.net/projects/kieker/files/kieker/其Binaries的下载地址是:http://sourceforge.net/projects/kieker/files/kieker/kieke 阅读全文