[發明專利]一種基于上下文的移動應用執行序列約減方法在審
| 申請號: | 202111495962.5 | 申請日: | 2021-12-09 |
| 公開(公告)號: | CN114138662A | 公開(公告)日: | 2022-03-04 |
| 發明(設計)人: | 馮洋;郝蕊;周孟博;陳偉;黃澴 | 申請(專利權)人: | 南京慕測信息科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 210023 江蘇省南京市*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 上下文 移動 應用 執行 序列 方法 | ||
本發明涉及一種基于上下文的移動應用執行序列約減方法。該方法針對安卓應用出現故障的輸入事件序列,使用靜態分析技術,針對指定包,對其中所有的方法調用,通過soot插樁插入log輸出語句,生成新的應用程序;通過數據流分析提取日志信息與原始執行序列進行匹配,用UI的變化特征輔助構建過濾無用事件的reduce算法,對執行序列進行第一步的過濾;在此基礎上應用程序切片技術,實現切片依賴關系的提取,對crash相應序列進行切片分析,從而生成必要事件的序列,在第二步縮減的生成樹算法的基礎上,利用必要事件去優化縮減序列的長度和順序,最終生成最小執行序列。本發明目的在于解決目前存在的移動應用上執行序列縮減的精度和時間的優化問題,進而幫助移動測試人員在有限的時間內得到有效的最簡序列結果,幫助移動測試人員制訂合理的解決異常的方案和策略,最終起到提高軟件測試效率、保障軟件質量的目的。
技術領域
本發明屬于軟件測試與程序分析領域,尤其適用于移動測試中的測試程序的安全性和可靠性領域,其目的在于為移動測試人員在應用開發環境下開展異常測試提供指導,是一種幫助移動測試人員在有限時間內確定應用軟件的缺陷和定位問題代碼的方法。
背景技術
近年來,移動互聯網行業呈現爆發式增長。 移動應用程序的數量和復雜性都在迅速增加。 根據數據統計,Android OS 在2016年第三季度占據了智能手機市場份額的87.8%。在Google Play中,Android 應用程序超過260萬個。為了提高最終用戶的滿意度,移動應用程序開發人員必須提高其應用程序的質量,移動測試是實現這一目標的一項重要措施。 現在已經提出了不同種類的測試技術來測試Android應用程序,包括模糊測試、基于GUI遍歷的測試和基于搜索的測試。模糊測試以Monkey工具家族為代表,包括Android OS內置的Monkey工具及其第三方改進版本。由于其簡單、有效和廣泛適用性的特點,改進的Monkey工具被基于云的移動測試平臺廣泛采用。
現有的Android測試工具(例如Monkey)會生成大量種類繁多的用戶事件,以暴露Android 應用程序中的潛在的異常和錯誤。但是即使發現了一個crash,由此產生的大多數事件往往是多余的,或者說是和crash無關的。 另外,如果給定一個長度很大的事件序列(script),開發人員想要去做定位和重現crash也是有困難的。
這些模糊測試技術的一個主要限制是它們通常在觸發故障之前生成大量輸入事件,這使得后續調試任務難以應用。 在這種情況下,需要簡化觸發相同故障的輸入事件序列,為了保證Android應用程序的質量,已經提出了許多自動測試用例生成技術。其中,Monkey fuzz測試工具及其變種簡單、有效、適用范圍廣。然而,這些 Monkey 工具的一個主要缺點是它們經常在引發故障的輸入跟蹤中生成許多事件,這使得后續調試活動難以應用。因此,在對產生crash的執行序列進行簡化是必要的。
在此之前,已經有一些團隊和個人在從事模糊測試技術這方面的研究,在執行序列約減的過程中,由測試工具生成的可能不同,需要開發良好的標準來區分事件的副作用,以消除由觸發的錯誤驅動的冗余事件,Simplydroid工具的缺陷在于,在序列選擇上具有隨機性,導致迭代次數過多,縮減花費的時間過長。Echo工具的缺陷在于,所檢結果crash重現率不高,部分執行序列不能達到最簡的縮減序列。
對此,本發明提出一種基于上下文的移動應用執行序列約減方法。本發明的基本思想為:針對安卓應用出現故障的輸入事件序列,首先,使用靜態分析技術,針對指定包,對其中所有的方法調用,通過soot插樁插入log輸出語句,包含資源行號、類名、方法名、Jimple語句、方法回調字段,生成新的應用程序;通過數據流分析提取日志信息與原始執行序列進行匹配,用UI的變化特征輔助構建過濾無用事件的reduce算法,對執行序列進行第一步的過濾;在此基礎上應用程序切片技術,實現切片依賴關系的提取,對crash相應序列進行切片分析,從而生成必要事件的序列,在第二步縮減的生成樹算法的基礎上,利用必要事件去優化縮減序列的長度和順序,最終生成最小執行序列。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京慕測信息科技有限公司,未經南京慕測信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111495962.5/2.html,轉載請聲明來源鉆瓜專利網。





