针对能耗和并发缺陷的安卓应用测试用例生成研究

来源 :南京大学 | 被引量 : 0次 | 上传用户:zhuzubiao
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
智能手机在人们的生活中成为了不可或缺的一部分。智能手机的计算能力变得越来越强,搭载的传感器越来越繁多。智能手机应用会采用并发编程技术以提高CPU的利用效率,利用传感器获取用户的物理环境的一些参数。但是,这里相应的出现了两个严重的问题——能耗和并发缺陷,从而降低了应用的质量,最终导致较差的用户体验。感知操作是一个十分消耗能源的操作,从中获取到的传感器数据应当被有效地利用。但是,已有的研究表明应用市场中的智能手机应用的传感器数据利用率通常较低,从而导致了严重的能耗浪费。为了解决这个问题,最新的技术GreenDroid能够自动地生成传感器数据,记录它们的传播以及分析它们在应用中的使用情况。然而GreenDroid的传感器数据生成方式是随机的,而这会使诊断结果不稳定和降低其有效性。众所周知,并发程序比较难以编写、测试和调试。安卓官方提供了一系列约束以避免出现并发缺陷,比如只能在Main Thread进行GUI更新。随着应用的复杂度不断增加,开发者越来越难以正确地理解应用的行为,从而导致出现难以察觉的并发缺陷。部分已有的工作通过利用已有的输入事件序列构建happens-before图,从而检测潜在的数据竞争。但是,它们严重地依赖于这些输入事件序列,从而造成较高的假阳性。针对能耗和并发缺陷,本文采用了测试用例生成技术,即利用应用的历史执行和当前状态生成新的测试用例。为了实现更加有效的能耗低效性诊断,本文提出了一个创新的方法以系统地生成多维的传感器数据,同时用更细粒度的方式定义了应用的状态。本文实现了一个原型工具CyanDroid,并且用了真实的应用以及它们的变异体对CyanDroid进行了评估。结果表明CyanDroid在诊断由传感器数据低利用率所导致的能耗缺陷时更加稳定、有效。另一方面,基于能够同时生成输入事件及其调度这样的事实,本文提出了一个触发安卓应用中并发缺陷的方法。本文实现了动静结合的混合分析以找到应用中潜在的冲突资源访问,然后通过导向型的事件和调度生成自动地运行被测应用。本文实现了相应的原型工具AATT,并用真实的应用对其进行了评估,结果表明了AATT的有效性和高效性。
其他文献
开发《卫星图象三维处理技术》项目的目的是对卫星图象进行处理,以便更好地满足地震勘探工作需要。通过图象的三维重建技术在计算机上利用OpenGL再现野外三维场景,满足用户对地
本文设计了嵌入式打印系统中调度与存储管理策略。在实时性方面,提出了基于全局调度的策略,解决了打印过程中的实时性问题。在避免overrun错误的同时极大的降低了打印过程对打
互连网发展的日新月异,带动了电子政务应用技术的更新,电子政务的应用大大提高了政府的办公效率。将现代计算机和网络技术等民用技术应用于军事机构,处理军队内部的事务,实现其管
学位
建筑业,设计人员一直通过二维的建筑结构图传递该建筑物的三维结构信息。而审图、算量、施工等人员则不得不通过阅读二维结构图来理解、提取其中描述的三维结构信息。因而,造成
随着计算机和网络技术的飞跃发展,越来越多的企业和个人成为Internet的用户。计算机网络安全成为网络用户和供应商不得不面对的一个问题。  本文介绍了入侵检测系统的发展过
本文中并非对面向对象的理论进行讨论,是对面向对象方法在软件开发过程中实现资源共享和实现软件开发的资源复用的讨论。提出一个了用于开发MIS系统的面向对象的解决方案,
本文提出了“基于Linux操作系统的轻量级安全平台,,的设计。它能提供一种灵活的方式,使原来无法提供此安全性支持的应用层软件对用户透明地提供安全性的支持。轻量级安全平台可
随着计算机应用技术的飞速发展,计算机信息管理系统已被广泛应用与各个领域。一时间,电子商务,电子政务,电子医务等席卷全国,并且经过实用化阶段,在理论和技术上都具备了一定的水平
传感器网络把电子世界和物理世界联系在一起,被誉为21世纪的十大科技发明之一,已成为研究的热点。无线传感网络可被广泛应用于军事侦察、灾难自救、环境检测、目标追踪等方面,因
随着信息技术的飞速发展,软件项目的规模也越来越庞大,个人单打独斗的作坊式开发模式已经被几十上百人的项目团队生产模式取代。如何对项目团队进行有效的绩效管理,构建高绩效的