当前位置: 首页 > 专利查询>常州大学专利>正文

一种基于Android资源表的资源泄露检测方法技术

技术编号:24090534 阅读:64 留言:0更新日期:2020-05-09 07:52
本发明专利技术提供一种基于Android资源表的资源泄露检测方法,具体方法包括:获取待检测APK的特征信息,构建CG,然后根据整理的Android资源表标记资源操作,最后通过模型检测方法进行分析输出Android应用的资源泄露报告。本发明专利技术通过整理Android资源表,检测分析了大量的资源类,同时使用模型检测方法,实现了检测自动化,在时间和人力上能节省很多。

A resource leak detection method based on Android resource table

【技术实现步骤摘要】
一种基于Android资源表的资源泄露检测方法
本专利技术涉及Android应用检测领域,尤其涉及到一种基于Android资源表的资源泄露检测方法。
技术介绍
随着科技的发展,智能手机的普及率越来越高。手机已经成为了人们日常生活中必不可少的工具,移动应用程序也越来越多。根据国外的StrategyAnalytics数据显示,截至2019年第三季度Android智能手机的市场占有率达到87.6%。为了优化用户体验,Android智能手机中嵌入了大量的资源,如媒体播放器、相机、GPS、内存等。这些资源在手机上消耗能源,使用它们时会高速消耗手机的电量。此外,无论哪种资源,在使用时都需要正确的管理,即需要正确请求和释放它们。错误的资源释放操作可能会造成内存浪费、能量消耗甚至程序崩溃等,这类缺陷被称为资源泄露。由于Android应用程序的快速发展,导致许多应用程序在发布前没有经过全面的测试,使应用程序的质量成为软件工程中的一个重要问题。面对大量的智能手机应用程序,正确管理APP的资源对开发人员来说是一项巨大的挑战。多年来,研究人员提出了各种本文档来自技高网...

【技术保护点】
1.一种基于Android资源表的资源泄露检测方法,其特征在于:包括以下步骤:/nS1:收集整理与请求和释放资源方法有关的资源表;/nS2:对待检测的Android应用程序安装包AndroidPackage,简称APK,进行反编译获取Dex文件;/nS3:对Dex文件进行分析,构建函数调用图Call Graph,简称CG;/nS4:分析函数调用关系,系统地遍历应用程序的函数调用图CG,与资源表进行对比,对资源请求和释放操作进行标记;/nS5:使用模型检测方法来对标记进行验证,判断是否存在资源泄露,并生成资源泄露报告。/n

【技术特征摘要】
1.一种基于Android资源表的资源泄露检测方法,其特征在于:包括以下步骤:
S1:收集整理与请求和释放资源方法有关的资源表;
S2:对待检测的Android应用程序安装包AndroidPackage,简称APK,进行反编译获取Dex文件;
S3:对Dex文件进行分析,构建函数调用图CallGraph,简称CG;
S4:分析函数调用关系,系统地遍历应用程序的函数调用图CG,与资源表进行对比,对资源请求和释放操作进行标记;
S5:使用模型检测方法来对标记进行验证,判断是否存在资源泄露,并生成资源泄露报告。


2.如权利要求1所述的基于Android资源表的资源泄露检测方法,其特征在于:步骤S1中参考Android官网上的AndroidAPI官方文档,收集整理与请求和释放资源方法有关的资源表,查找需要手动释放的与资源相关的应用程序接口,其中,资源表包含资源包名、类名和相关的请求释放操作。


3.如权利要求1所述的基于Android资源表的资源泄露检测方法,其特征在于:所述步骤S2包括解析配置文件和代码反编译分析两个部分,具体过程如下:
S2.1:将APK解压后获取其中的配置文件manifest.xml并通过使用反编译工具dex2jar提取内容;
S2.2:对APK文件进行反编译,获取应用程序的Dex文件,然后提取应用组件中的操作指令和运行时数据。


4.如权利要求3所述的基于Android资源表的资源泄露检测方法,其特征在于:步骤S3中,构建函...

【专利技术属性】
技术研发人员:朱正伟张贵玲朱晨阳诸燕平蒋威孙广辉
申请(专利权)人:常州大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1