Android API演化导致的兼容性问题研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:yxhangyong
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Android版本的频繁更新是导致Android生态碎片化问题的一个重要原因。为了使Android应用可以在多个Android版本上使用,应用程序开发者不得不为其开发的应用进行兼容处理。然而这不仅增加了开发的难度还给测试带来了许多麻烦。当前,这种因Android版本演化导致的兼容性问题虽然很严重但相关研究工作却很少。  本文首先围绕API演化导致的兼容性问题做了一些经验性的研究,研究发现Android应用中兼容处理是普遍存在的,91.84%的应用做了API演化导致的兼容处理。另外,还发现导致这种兼容处理普遍的原因有Android演化导致API剧烈变化,Android支持库对这种变化支持程度很低,应用为了在新版本提供系统添加的新功能因此需要做兼容处理。最后,通过对10个应用以及1个Android支持库源码的手动分析,发现大多数兼容修复是比较简单的,较少有使用复杂的兼容模式。  在经验性研究的基础上提出了一种基于数据流分析的静态检测Android应用中API不兼容使用的方法。基于该方法开发了一个原型工具IctApiFinder,据我们所知,这是第一个真正意义上的静态检测Android API不兼容使用的工具。实验表明该工具简单易用,能有效减少误报率并且能够发现真实应用中存在的API不兼容使用缺陷。目前报告的潜在缺陷中已经有五个收到了应用开发者的确认,其中三个被认为很严重并已经得到修复。  本文最后开发了一个自动识别Android API演化的工具,该工具能够识别出两个不同Android版本间的大多数API变化,包括添加,删除和替换等。基于该工具,能够为一些API的不兼容使用给出对应的修复建议。
其他文献
为了防止信息泄露,机密信息都是加密后存放在外部介质中的,然而在将机密信息读取到内存之后,应用程序会将机密信息解密出来,在处理这些信息期间,应用程序的运行时内存内容有
多年来,机器翻译一直是自然语言处理领域最重要和最具挑战性的课题之一。本文基于东北大学与日本富士施乐公司多年的研究,探讨并实现了基于模板的机器翻译方法,并重点研究了
图像匹配是计算机视觉和图像理解领域的基础研究问题之一,已广泛应用于多源图像数据融合、目标识别、三维重建等诸多领域。论文主要针对双目立体视觉中的匹配问题进行了研究,主
随着计算机硬件和软件技术的发展,计算机视觉技术受到了人们越来越多的关注,视频运动目标跟踪作为计算机视觉的重要研究项目之一,在军事、航空航天、计算机辅助设计、智能机
翻涌的流水,缭绕的烟雾,摇曳的烛火,这些都是人们平时眼熟能详的流体现象。但是流体的运动机理较为复杂,若要在计算机上模拟流体的运动并呈现其精美的视觉效果,最有效的手段就是追
Internet资源的成长性、自治性和多样性,使得面向Internet的资源共享面临很大困难。基于Internet的虚拟计算环境(Internet-based Virtual Computing Environment,简称虚拟计算
近年来,在中间件技术的基础上,结合软件复用和面向对象的思想,构件化设计和开发作为一种提高软件生产率和软件质量的有效途径,并在实践中得到广泛应用。目前,基于构件的软件
干扰是影响移动通信网络运行的关键因素,对通话质量、掉话、切换、拥塞均有显著影响。如何降低或消除干扰是网络规划、优化中的一个关键问题。在目前2/3G网络干扰日趋严重并
随着计算机、通信和多媒体技术的高速发展,特别是互联网络的出现和大范围普及,数据图像呈爆炸式增长趋势,使图像资源数量迅速增加,过去基于关键字的分类技术显然不能满足人们
OA(Office Automation:办公自动化)是企业信息化建设的重要组成部分。办公自动化系统的发展恰好与数据、信息和知识的演变同步,即以数据为主要处理内容的第一代办公自动化发展