[發明專利]一種面向法語法的句群級語境形式化方法在審
| 申請號: | 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.szxzyx.cn/pat/books/201610484175.3/1.html,轉載請聲明來源鉆瓜專利網。





