[发明专利]一种面向法语法的句群级语境形式化方法在审
申请号: | 201610484175.3 | 申请日: | 2016-06-28 |
公开(公告)号: | CN107688460A | 公开(公告)日: | 2018-02-13 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 江苏华扬信息科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 212009 江苏省镇江市镇*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 法语 句群级 语境 形式化 方法 | ||
1.一种面向法语法的句群级语境形式化方法其特征是是对象创建事件的拦截、指针更新事件的拦截和对象死亡时间的计算三部分。
2.根据权利要求1中的对象创建事件的拦截主要捕捉程序中所有对象的创建事件,需要在Java字节码一级对所有涉及对象分配的字节码进行拦截。
3.根据权利要求2所要求则是由1)new,创建一个标量对象;2)newarray,创建一个矢量对象且数据成员为基本数据类型;3)anewarray,创建一个矢量对象且数据成员类型为对象的引三种定义组成。
4.根据权利要求3所要求其函数为:
拦截创建对象的字节码(Java字节文件){
while 不是字节码文件的末尾:
if 当前字节码为new||newarray||anewarray :
记录当前要创建的对象信息;
翻译字节码为机器码;
continue:
else if 当前字节码为别的字码:
翻译为机器码;}。
5.根据权利要求1中指针更新事件的拦截要追踪程序中所有的指针更新事件,必须在字节码一级对所有涉及指针更新的字节码进行拦截。
6.根据权利要求5则其引起指针更新事件的字节码为:
1)astore,将对象的引用存入局部变量;
2)aastore,将对象的引用存入数组变量;
3)putfield,设置对象中引用类型字段的值;
4)putstatic,设置类静态引用字段的值。
7.根据权利要求6中所示则其函数为:
记录指针新事件(){
if 指针先前指向的对象存在
将该对象最后一次可达时间更新为当前时间;
记录本次指针更新事件;}
拦截指针更新事件的字节码(Java字节码文件){
while 不是字节码为putfield||aastore||astore||putstatic:
记录指针更新事件();
翻译为机器码;
continue;
else if 当前字节码为别的字节码:
翻译为机器码;}。
8.根据权利要求1对象死亡时间的计算由可达状态转换为不可达状态。
9.根据权利要求8其方法:计算对象死亡时间(){
置当前传播时间为最大值;
将所有不可达对象按最后一次可达时间进行排序(按升序);
将所有不可达对象按最后一次可达时间从d,N大顺序压栈;
while栈不为空
当前对象=栈项对象:
if当前对象的最后一次可达时间<_当前传播时间
更新当前传播时间为当前对象的最后一次可达时间;
for当前对象的每个字段
if该字段是引用类型且不为Null
if该字段所指向对象最后一次可达时间<当前传播时间
将该字段所指向对象的最后一次可达时间置为当前传播时间;
将该字段所指向对象压栈:
}。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏华扬信息科技有限公司,未经江苏华扬信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610484175.3/1.html,转载请声明来源钻瓜专利网。