[发明专利]Android图片加载行为缺陷动态检测方法有效
申请号: | 202011569644.4 | 申请日: | 2020-12-26 |
公开(公告)号: | CN112698881B | 公开(公告)日: | 2022-09-06 |
发明(设计)人: | 曾梓钢;韩梦琪;杨帅豪;宋巍 | 申请(专利权)人: | 南京理工大学 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/451 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 陈鹏 |
地址: | 210094 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | android 图片 加载 行为 缺陷 动态 检测 方法 | ||
本发明公开了一种Android应用图片加载行为缺陷动态检测方法,输入Android应用apk文件,输出检测到的应用图片加载行为缺陷;为检测应用图片加载行为缺陷,首先对待测Android应用进行静态分析,定位Android应用中图片加载APIs调用位置和生成一个基础GUI模型;然后根据GUI模型与图片加载APIs所在位置,对Android应用进行自动化探索,触发图片加载API并探索完善GUI模型;在此期间,基于Xposed框架的监控器勾取并分析与图片加载相关APIs,输出有缺陷的图片加载行为。本发明提出的方法,具有有效、高效的优点,能全面、高效地检测Android应用图片加载行为的缺陷。
技术领域
本发明属于程序分析与测试领域,具体涉及一种Android图片加载行为缺陷动态检测方法。
背景技术
Android系统由于其开放性和通用性,已成为目前最流行的嵌入式操作系统,相应的Android应用数量也随之爆发。为了美化界面与丰富内容,android应用经常需要加载显示图片。然而,在应用中,不恰当的图像加载问题普遍存在,它会严重影响应用程序性能和用户体验,比如,UI滞后、内存膨胀和能耗增加,严重时甚至会导致应用崩溃。因此,对于Android应用中图片加载行为的研究十分必要。
目前,图片加载行为的测试并没有引起开发者过多的重视,尽管现有工作在一定程度上考虑了低效加载显示图片的问题,但大部分都限定在总体性能缺陷分析以及图像显示性能分析的范围内,少部分从源代码出发,静态地分析代码中不规范的图片加载显示操作。在动态测试方面,现有的android应用动态检测工具在general的检测上具有较好的覆盖率以及bug发现率,但在具体的问题上覆盖率较低,且检测开销较大。而在图片加载行为上,由于除了android提供的原生的图片加载类BitmapFactory外,还有各种第三方图片加载库:Picasso,Glide,Universal Image Loader,Fresco。开发者往往使用不同的图片加载API来进行开发,这无形中增加了图片加载行为动态检测的难度。
因此,尽管有很多研究工作提出了针对Android应用的测试方法,但它们大多是用于测试应用的GUI,很少有专门用于测试图片加载行为的方法。当使用这些GUI测试方法来测试应用时,很多的图片加载行为都无法有效和高效地探索。
发明内容
本发明的目的在于提供一种Android图片加载行为缺陷动态检测方法,用于高效、全面地测试Android应用与图片加载相关的行为。
实现本发明目的的技术解决方案为:一种Android应用图片加载行为缺陷动态检测方法,以Android应用的apk文件为输入,以测试出的应用图片加载行为相关缺陷作为输出,步骤如下:
步骤1,静态预分析:使用soot将待测Android应用的apk文件转换为jimple文件,基于jimple文件,得到Android应用代码中图片加载APIs的调用位置和基础的活动跳转图;
步骤2,动态分析:对Android应用进行动态分析,基于步骤1所得活动跳转图,自动化地跳转到图片加载APIs的调用位置,触发图片加载APIs的调用,期间对活动跳转图缺失的边进行基于组件分类的广度优先探索算法的自动化探索来补全;
步骤3,运行时验证:使用基于Xposed框架实现的监控器监控Android应用图片相关API的执行情况,对勾取到的图片加载行为相关的方法进行时序分析,获得并输出存在反模式的图片加载行为。
本发明与现有技术相比,其显著优点为:(1)采用动静结合的思想,先静态分析获取APK的基本GUI模型,在对APK进行动态分析时,以目标驱动,直接到达测试点,而不需要过多与测试无关的操作;(2)使用Xposed框架勾取目标APIs,无需对APK进行插桩处理;(3)测试过程自动化,能全面高效地测试应用图片加载相关行为。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京理工大学,未经南京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011569644.4/2.html,转载请声明来源钻瓜专利网。