軟件所在移動應用質量保障方面取得進展
文章來源: | 發布時間:2023-02-08 | 【打印】 【關閉】
近日,軟件所互聯網軟件技術實驗室在移動應用程序質量保障方面喜提ICSE·2023國際會議三篇論文。研究成果聚焦移動應用程序質量保障方向,涉及移動應用程序的自動化測試輸入生成、活動轉移圖自動補全、缺陷自動復現等方面,可賦能質量保障活動,多角度提升移動應用程序的質量。
論文“Fill in the Blank: Context-aware Automated Text Input Generation for Mobile GUI Testing”關注移動應用程序自動化測試過程中的輸入生成問題。近年來自動化圖形用戶界面(GUI)測試被廣泛用于幫助開發團隊確保移動應用程序的質量。然而許多GUI需要適當的文本輸入才能進入下一頁,文本輸入的質量成為影響測試覆蓋率的主要障礙。由于有效文本輸入(例如航班的出發地、電影名稱、用戶血壓信息等)具有多樣性和語義要求的特點,實現文本輸入生成的自動化是一項具有挑戰性的任務,其難度主要體現在兩個方面,一是輸入時需要生成不同類型的特定值,例如地圖應用程序的街道地址;二是在同一GUI頁面內需要體現文本之間的關聯性,例如航班搜索中出發和到達地需要是不同位置。如果文本輸入不恰當,自動化測試工具將無法進入下一個UI頁面,從而導致測試的充分性低下。
針對以上的挑戰,團隊提出了一種上下文感知的自動文本輸入生成方法QTypist,即使用預先訓練的大型語言模型(LLM)來智能地生成語義輸入文本,以增強移動GUI測試。其設計邏輯是,先給定一個帶有文本輸入的GUI頁面及其相應的視圖層次結構文件,通過提取文本輸入的上下文信息,來設計語言模式以生成提示作為LLM的輸入。同時,為了提高LLM在移動GUI中文本輸入的性能,團隊還開發了一種基于提示的數據構建和調優方法,以自動提取用于模型調優的提示和答案。
圖1展示了該方法的基本框架。團隊對來自Google Play的106個應用程序進行了評估,結果顯示,該方法生成文本的通過率為87%,比最佳基線高93%。團隊還將文本生成方法與自動化GUI測試工具集成,與原始工具相比,集成后的工具可以多覆蓋42%的應用程序活動和52%的頁面,同時多檢測82%的bug,從而提升了自動化測試工具的測試覆蓋率和缺陷檢測效率。
圖1. QTypist基本框架
論文“Ex pede Herculem: Augmenting Activity Transition Graph for Apps via Graph Convolution Network”關注移動應用程序的活動轉移圖自動補全問題。由于安卓應用程序是事件驅動的,活動轉換圖(ATG)成為應用程序抽象和GUI建模的重要方式。盡管現有的工作提供了靜態和動態分析來構建應用程序的ATG,但由于這些技術的低覆蓋率,所獲得的ATG的完整性較差。針對以上的挑戰,受到應用程序的活動名稱存在語義信息這一啟發,團隊提出ArchiDroid來自動預測應用程序活動之間的轉換,并增強其ATG。首先通過靜態分析提取種子ATG;然后構建活動嵌入模型,將活動名稱嵌入到語義向量中;最后構造一個圖卷積層,學習活動名稱和圖結構信息的語義并預測活動之間的轉換,從而實現自動構建應用程序的ATG。
圖2展示了該方法的基本框架。團隊在真實的流行移動應用程序上進行評估,結果表明,在預測增強ATG的活動之間的轉換時,工具可以達到86%的準確率和94%的召回率。團隊進一步將增強的ATG應用于兩個下游任務,即自動化GUI測試指導和應用程序功能設計協助。結果表明,集成了我們方法的自動化GUI測試工具,提升了43%的活動覆蓋率。此外,該方法可以在真實應用程序中以85%的準確率預測缺失的功能,以幫助應用程序功能設計。
圖2. ArchiDroid基本框架
圖3展示了該方法的基本框架。團隊對來自69個流行的移動應用程序的102個缺陷報告進行了評估,ScopeDroid成功地重現了63.7%的崩潰,比最先進的基線高出32.1%和38.3%。
圖3. ScopeDroid基本框架
“Fill in the Blank: Context-aware Automated Text Input Generation for Mobile GUI Testing”和“Ex pede Herculem: Augmenting Activity Transition Graph for Apps via Graph Convolution Network”第一作者為博士生劉哲,“Context-aware Bug Reproduction for Mobile Apps”第一作者為博士生黃芋超,通訊作者均為王俊杰研究員、王青研究員。研究獲得科技部重點研發計劃、國家自然科學基金、中國科學院青年創新促進會的支持。