科斯塔
COSTA是一个执行自动程序分析的研究原型,它能够推断Java字节码程序的成本和终止信息。系统接收一个字节码程序和从一系列资源描述中选择的成本模型作为输入,并尝试根据给定的成本模型限制程序的资源消耗。COSTA提供了几个非平凡的资源概念,例如堆上分配的内存量、执行的字节码指令的数量、程序执行的可计费事件(如在移动电话上发送文本消息)的数量。在进行成本分析时,COSTA生成了一个成本方程组,这是递归关系的扩展形式。为了获得这种表示上界的递归关系的闭合(即非递归)形式,COSTA包含一个专用的解算器。安!COSTA有趣的特性是,它使用了与证明终止(这也意味着任何资源消耗的有界性)几乎相同的机制来推断成本上界。CostaWeb界面允许用户在一组具有代表性的示例上试用该系统,还可以上载自己的字节码程序。由于COSTA的行为可以使用一组相对较大的选项进行定制,因此web界面提供了两种不同的选择来选择这些选项的值。第一种选择,我们称之为自动,允许用户从一系列的可能性中进行选择,这些可能性在分析精度和开销上有所不同。所有这些,不需要用户了解系统中实现的不同选项及其在分析精度和开销方面的含义。第二种方法叫做手动,它是为专家用户设计的。在那里,用户可以访问所有可用的分析选项,允许对分析器的行为进行细粒度控制。其中一些选项包括是否分析Java标准库,考虑异常,执行一些pre-a!分析,将分析结果写入/读取到文件,以便在以后的分析中重用,等等。COSTA可以分析javase和javame的代码,特别是针对移动电话的MIDP配置文件。
此软件的关键字