用户手册(GB8567——88) IA4J用户手册

用户手册(GB8567——88) IA4J用户手册

ID:47925295

大小:235.00 KB

页数:17页

时间:2019-11-04

用户手册(GB8567——88)  IA4J用户手册_第1页
用户手册(GB8567——88)  IA4J用户手册_第2页
用户手册(GB8567——88)  IA4J用户手册_第3页
用户手册(GB8567——88)  IA4J用户手册_第4页
用户手册(GB8567——88)  IA4J用户手册_第5页
资源描述:

《用户手册(GB8567——88) IA4J用户手册》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、国家863计划重点课题可信软件生产工具及集成环境支持软件可信性分析和评估的生产线IA4J用户手册版本:v1.0支持软件可信性分析和评估的生产线项目组2010年06月30日171引言31.1编写目的31.2背景31.3定义31.3.1属性的不变性31.3.2方法的不变性41.3.3类的不变性41.4参考资料42用途52.1功能52.2性能52.2.1精度52.2.2灵活性53运行环境53.1硬设备53.2支持软件54使用过程64.1安装与初始化64.2输入74.3输出74.3.1分析结果的统计信息84.3.2分析结果的详细信息85附录部分分析结果的详细信息1

2、0171引言1.1编写目的本手册是IA4J工具的用户手册,旨在帮助该工具的用户正确使用工具所提供的功能。1.2背景IA4J是一个分析程序不变性的工具。它能够对Java程序的字节码进行静态分析,输出该程序中所有的类,属性和方法的不变性信息。首先通过对Java程序的字节码进行静态扫描获得程序中的基本信息,然后通过迭代的分析技术分析程序中各个类,属性和方法的不变性信息。此工具由南京大学计算机系软件工程教研室独立设计与开发完成。1.3定义1.3.1属性的不变性属性的不变性性质分为三类:不变(immutable),可变(mutable)和不确定(undecided)

3、,在不确定(undecided)的类别中又细分出引用逃逸(referenceescape)一类,下面分四种具体情况进行说明(在这些定义中,都不考虑类的构造方法):l属性是不变的,当且仅当该属性满足如下任意条件之一:(1)它是基本数据类型,并且没有被重新赋值;(2)它是引用类型,其指向关系没有被重新赋值,并且它所指向的对象所属的类是不变的;(3)它是引用类型,其指向关系没有被重新赋值,并且它所指向的对象所属的类是可变的,但是该引用没有被逃逸,并且该引用没有调用可变的成员方法;l属性是可变的,当且仅当该属性满足如下任意条件之一:(1)它是基本数据类型,并且被重

4、新赋值;(2)它是引用类型,其指向关系被重新赋值或者它调用了可变的成员方法;l属性是引用逃逸,当且仅当该属性是引用类型,其指向关系没有被重新赋值,但是该引用被逃逸,并且该引用所指向的对象所属的类是可变的;l其它情况都是不确定的。171.3.2方法的不变性方法的不变性性质分为三类:不变,可变和不确定,下面分三种具体情况进行说明:l方法是不变的,当且仅当该方法同时满足以下所有条件:(1)该方法中不存在对属性的赋值语句;(2)该方法中没有调用引用类型属性的可变成员方法;(3)该方法没有将那些所指向的对象所属的类是可变的引用类型属性逃逸;l方法是可变的,当且仅当该

5、方法满足以下任意条件之一:(1)该方法中存在对属性的赋值语句;(2)该方法调用了引用类型属性的可变成员方法;(3)该方法中存在将引用类型属性逃逸的语句,且这些逃逸的引用所指向的对象所属的类是可变的;l其它情况都是不确定的(例如,该方法将引用类型属性逃逸,但是该引用所指向的对象所属的类是不确定的;该方法调用了引用属性的成员方法但是该成员方法是不确定的)。1.3.3类的不变性类的不变性性质划分成三类:不变,可变和不确定,下面分三种具体情形进行说明:l类是不变的,当且仅当该类中定义的所有属性都是不变的;l类是可变的,当且仅当该类中至少存在一个属性是可变的;l其它

6、情况都是不确定的(例如:该类中所有属性都是不确定的;该类中部分属性是不变的但是其他属性都是不确定的)。1.4参考资料l于利前,王林章,雷斌,赵建华,李宣东.静动态结合的Java程序不变性分析方法.计算机学报,2010年4月,第33卷(第四期).172用途2.1功能本工具的开发目的是:为程序员设计一套分析程序不变性的分析工具,方便程序员在开发程序时能够利用程序中的不变性信息优化他们的程序,并且减少程序中一些隐藏的bug和缺陷。本工具提供的主要功能有:l分析Java程序中类的不变性l分析Java程序中属性的不变性l分析Java程序中方法的不变性2.2性能2.2

7、.1精度IA4J对时间的统计精确到毫秒级。2.2.2灵活性本软件用Java语言开发,可在多种操作系统平台上运行,灵活性高。3运行环境3.1硬设备本系统对硬件设备没有硬性要求,为了性能起见,建议处理器PentiumⅣ2.0G,内存1G.3.2支持软件IA4J要求用户平台上安装有1.3版本及以上的JDK。IA4J支持在下列操作系统及平台上运行:lMicrosoftWindows2000全系列lMicrosoftWindowsXP全系列lLinux全系列174使用过程4.1安装与初始化IA4J软件可从其主页http://seg.nju.edu.cn/IA4J/I

8、A4J.html上下载得到。下载下来的是IA4J.rar,解压缩I

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。