[發明專利]一種JavaScript引擎安全測試方法及測試系統在審
| 申請號: | 202110006727.0 | 申請日: | 2021-01-05 |
| 公開(公告)號: | CN112685314A | 公開(公告)日: | 2021-04-20 |
| 發明(設計)人: | 朱應龍 | 申請(專利權)人: | 廣州知圖科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06N3/04 |
| 代理公司: | 北京高沃律師事務所 11569 | 代理人: | 楊媛媛 |
| 地址: | 510000 廣東省廣州市番禺*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 javascript 引擎 安全 測試 方法 系統 | ||
1.一種JavaScript引擎安全測試方法,其特征在于,所述方法包括:
獲取JavaScript測試用例;
對所述測試用例進行語法解析,生成語料庫;
利用所述語料庫搭建并訓練循環神經網絡變分自編碼器,得到訓練好的循環神經網絡變分自編碼器;
利用所述訓練好的循環神經網絡變分自編碼器對隱變量進行處理,生成新語料,所述隱變量為輸入的隨機變量;
將所述新語料組裝成為新測試用例;
利用所述新測試用例對系統進行安全測試。
2.根據權利要求1所述的JavaScript引擎安全測試方法,其特征在于,所述對所述測試用例進行語法解析,生成語料庫具體包括:
重命名:對每個所述測試用例,按照變量和函數名在所述測試用例中的出現順序,對所述變量和所述函數名進行重命名,得到重命名的測試用例;
解析:將每個所述重命名的測試用例解析為抽象語法樹;
轉換:將所述抽象語法樹拆解為基本語法元素的序列,記為邊語料序列。
3.根據權利要求2所述的JavaScript引擎安全測試方法,其特征在于,所述將所述抽象語法樹拆解為基本語法元素的序列,記為邊語料序列具體包括:
將所述抽象語法樹拆解為邊;
按照預設遍歷順序將所述邊存儲為邊語料序列;所述邊語料序列為所述循環神經網絡變分自編碼器的輸入數據。
4.根據權利要求2或3所述的JavaScript引擎安全測試方法,其特征在于,所述利用所述語料庫搭建并訓練循環神經網絡變分自編碼器具體包括:
將邊語料序列輸入語料嵌入層并按照數字和字符串的對應關系轉換為連續變量;
將所述連續變量輸入由單層循環神經網絡構成的編碼器得到隱變量的分布參數;
按照所述分布參數對所述隱變量進行采樣得到多維變量;
將所述多維變量輸入由單層循環神經網絡構成的解碼器后輸出數字序列;
根據所述語料嵌入層所確定的數字和字符串的對應關系,將所述數字序列翻譯為字符串序列。
5.根據權利要求1所述的JavaScript引擎安全測試方法,其特征在于,所述得到訓練好的循環神經網絡變分自編碼器具體包括:通過調節所述循環神經網絡變分自編碼器的模型參數,使得損失函數L最小;
L=∑(x,y)l(x,y) (1)
其中,∑(x,y)表示對訓練數據全集求和,l(x,y)為每一條數據的損失函數:
l(x,y)=a·ltype(x,y)+lname(x,y) (2)
ltype=-∑j(Tjtrue*log(Tjpred)) (3)
ltype和lname分別表示節點類型和節點屬性的預測錯誤程度,當預測與實際完全相符時,l為零,否則l大于零;
a是可調參數,用于調節節點類型的預測錯誤程度和節點屬性的預測錯誤程度的權重,如果需要提高節點屬性的預測錯誤程度的權重,則增大a,如果需要提高節點類型預測錯誤程度的權重,則減小a;
∑j表示對所有所述節點類型求和,Tjpred為預測節點類型,Tjtrue為實際節點類型;
lname=-∑i(Nitrue*log(Nipred)) (4)
∑i表示對所有所述節點屬性求和,Nipred為預測的節點屬性,Nitrue為實際的節點屬性。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州知圖科技有限公司,未經廣州知圖科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110006727.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種采集動物腦電信號的裝置
- 下一篇:一種河道識別方法





