Indus

软件截图:
Indus
软件详细信息:
版本: 0.8
上传日期: 3 Jun 15
许可: 免费
人气: 14

Rating: 5.0/5 (Total Votes: 1)

梧桐是努力的程序分析和Java实现变换定制和适应Java程序提供的集合。梧桐意在作为一把伞:
*静态分析,如指向的分析,逃跑分析,和依赖分析,
*变换如程序切片,并通过局部评估计划专业化,
*它提供的分析/转换到一个特定的应用程序,如班德拉或平台如Eclipse任何软件模块。
目前,有3个模块是梧桐的一部分。多个模块,预计在一段时间的过程中加入。我们提供的每个可在本模块的意图的概述。
梧桐是,里面涉及算法和共同的分析和转换,这是一部分或计划成为印度的一部分数据结构实现一个模块。该模块包含接口定义共通的大多数分析和转换,以提供在其中分析的各种实施/变换可以被组合以形成容易的系统的框架。因此,当分析/转换的一个新的排序被实现为在梧桐一个模块该模块被更新。然而,新的实现的分析/变换将不会影响该模块,因为它会实现现有的接口。
StaticAnalyses模块旨在是静态的收集分析,如对象的流分析,逃逸分析和依赖性分析。此模块中的分析使用来自印度通用接口和实现,并可以定义/提供具体的新分析新接口/实现。现有的分析如下所述。
*对象流分析(OFA)是指向的分析为Java。每个分配的网站上的分析系统中被当作一个抽象对象并其流动通过该系统进行跟踪来推断可能的类型的接收器在一个呼叫内,以使一个精确调用图的结构。分析的精度可以在流敏感性的方法的局部变量和对象的敏感,以实例字段方面进行改变。
*逃逸分析是扩展实现修剪干扰,并准备依赖边缘的目的,提出鲁夫逃逸分析。所述扩展是在无缝添加值等价于分析的形式来提高相互矛盾的场的检测读/写在不同的线程存在不仅仅是使用接入表达式的初选的类型相等。该分析还使用对象流信息正交进一步提高精度。
*依赖性分析是相关性的集合分析:条目为基础的控制,出口为基础的控制,基于标识符的数据,基于参考的数据,干扰,准备,同步和发散,通过分析/变换需要此类程序切片和部分的评价。干扰和准备的依赖分析依赖于以前的逃逸分析,同时基于参考的数据和同步依赖分析依赖于对象的信息流和计算调用图信息。一些分析有不同的精度等级可以通过明确定义的接口来改变。
*副作用分析方法,提供级别的副作用的信息。用户可以查询,如果任何参数/参数来呼叫站点/方法的将受到影响或直接(立即成员)或间接地(递归可达成员)。同样,用户可以提供一个植根于参数/参数到一个呼叫站点/方法和查询数据存取路径,如果该数据访问路径的终点是受呼叫/方法。
*监视器分析甲是一个简单的分析,提供监视/锁图形信息对于给定的系统。
*安全锁分析是一种分析认为,保守地发现,如果一个锁(监视器)将不会无限期地举行。该信息可用于在具有时间依赖性steming为的Object.wait()和Object.notify()/ Object.notifyAll(),因为它是在准备依赖性进行结合。
*原子分析提供了有关原子的给定系统中的信息。目前的实现依赖于逸出分析,如果一个语句可以以原子被执行预测。这个信息被用来检测码原子区域。这个信息是在诸如模型检查以减小状态空间的大小是有用的,因此,提高性能。
一些分析可以足够大,以构成模块自身和这样的分析将设在梧桐作为不同的模块,而不是被消耗这个模块。
Java程序切片机模块中包含的Java程序切片机的核心实现随适配器提供的切片机在其他应用程序如班德拉和Eclipse。实施的架构为库,而不是作为应用程序,以促进它的子部件的再利用。芯是独立于应用;该片段的每个应用程序的要求,可以通过编码了的后处理接口的实现和钩住在这些实现中,以形成定制的限幅器来满足。
该模块在很大程度上依赖于由依赖所提供的信息进行分析,并通过良好定义的接口,使外部实现用于切片提供OFA的调用图。
此实现切片机交付到Eclipse通过插件卡佛里一个直观的用户界面。
产品特点:○
向后和向前的切片生成。完整的片(的向后和向前工会
从相同的切片标准开始)切片可以产生。
*支持residualize(适当的)片成可执行的类文件。
*支持通过上下文丰富的片标准规范的上下文敏感的切片。
*支持与切片限制到系统的通过范围的规格的特定部分。
*支持序列化切片标准,限幅器的配置,和切片。
在Jimple,爪哇的中间表示梧桐项目工作的所有模块,由塞布尔组麦吉尔大学提供的煤烟工具包。项目中的每个模块将被公开为一个或多个Eclipse插件如果所提供的信息是通过图形用户界面对用户有用的并且易于为用户消费。
软件工程理念
在这个项目中每个模块将通过可实施组装定制的系统,其满足特定需求的扩展适合定义良好的接口只提供所需的功能。作为接口清楚地从实现分离,任何外部实现,它提供所需的界面,可以无缝地使用从该项目的模块。
背景
大多数分析的实现是通过驱动的Java程序切片机由班德拉所需的要求。然而,由于该方案限幅器可以Bandera的外部使用和分析可以用来使其他的变换,例如通过局部评价程序专业化,我们提出的分析和转换成一个称为梧桐新的项目。

意见 Indus

评论没有发现
添加评论
打开图片!