【摘 要】
:
多线程编程和异步事件处理的支持使得安卓应用的执行行为具有不确定性。若两个未经正确同步的事件对某一共享内存单元的访问可并发执行,且其中至少一个事件为写访问,则产生数据竞争。数据竞争是一种常见的并发缺陷,可导致安卓应用运行异常、崩溃、数据无效更新等严重后果。现有的安卓应用数据竞争探测技术一般采用动态或者静态探测方法,存在静态探测误报率高,动态探测代码覆盖率低、漏报率高等问题。为提高安卓应用数据竞争探测
论文部分内容阅读
多线程编程和异步事件处理的支持使得安卓应用的执行行为具有不确定性。若两个未经正确同步的事件对某一共享内存单元的访问可并发执行,且其中至少一个事件为写访问,则产生数据竞争。数据竞争是一种常见的并发缺陷,可导致安卓应用运行异常、崩溃、数据无效更新等严重后果。现有的安卓应用数据竞争探测技术一般采用动态或者静态探测方法,存在静态探测误报率高,动态探测代码覆盖率低、漏报率高等问题。为提高安卓应用数据竞争探测能力,本文提出一种基于约束求解的安卓应用数据竞争探测方法。该方法首先采用静态分析技术获取共享变量访问、冲突事件对等信息,生成所有的潜在数据竞争;然后采用动态搜索技术生成待测应用的GUI测试模型,采用符号执行技术生成待测应用的符号摘要信息,针对潜在数据竞争事件,基于GUI模型和符号摘要信息生成可覆盖相应潜在数据竞争代码的候选事件序列;最后动态运行各候选事件序列,收集各事件序列的执行轨迹,并采用基于约束求解的预测性分析技术,对执行轨迹中可能产生数据竞争的事件对进行约束求解,将并发错误探测问题转化为约束求解问题。该方法通过静、动态分析收集并执行多个候选事件序列,克服动态探测方法中代码覆盖率低等缺陷,同时保持了预测性分析技术误报率低、效率高等优势。在上述工作的基础之上,本文设计并实现了基于约束求解的安卓应用并发错误探测工具ADR,并与动态数据竞争探测工具Event Racer和静态数据竞争探测工具n Adroid进行对比。实验结果表明,ADR可有效探测安卓应用中的数据竞争,在探测效果和效率之间达到了一个较好的折中。与Event Racer相比,ADR通过生成多个事件序列提高代码覆盖率,可探测出更多的数据竞争;与n Adroid相比,ADR提高了探测精度和效率,探测时间减少约67%。
其他文献
随着计算机视觉领域研究的不断深入,实例分割已经逐渐成为当下计算机视觉领域的研究热点之一。实例分割任务的目标是对图像中的所有前景像素点做所属实例的划分。在计算机视觉领域,依赖于手工提取特征的传统方法已经逐渐被深度学习所取代,基于深度学习的实例分割方法也逐渐成为实例分割任务的主流解决方案。本文以深度学习理论为基础,对现有的基于深度学习的实例分割方法做了分析,并且基于FCOS目标检测网络提出了一种新的单
MEMS是以微电子技术为基石发展起来的多学科交叉综合的新兴研究领域,其中一个重要分支及应用领域为射频微电子机械系统(RF MEMS)。RF MEMS器件得益于其低功耗、小型化、优良微波性能、高集成度等诸多优势,在诸多领域有着广泛的应用前景。在射频系统中,可调谐微波衰减器作为调节信号电平的高频器件需求度很高。它们在自动增益控制放大器、宽带矢量调制器等射频电路中广泛应用。同时,可调谐微波均衡器能够调节
随着科学技术发展的日新月异,国防现代化亦飞速发展,隐身性能已经成为先进飞行器和其他军事装备不可或缺的重要元素。频率选择表面(Frequency Selective Surface,FSS)可以有效减小天线和飞行器的雷达散射截面(Radar Cross Section,RCS);利用空间电磁波干涉相消原理和电磁对消技术,能够有效对抗电磁干扰和缩减武器平台的雷达回波。基于上述动机,本文主要在以下几个方
人类的大脑是由上千亿个不同种类的神经细胞共同组成的极度复杂的组织结构。试图理解人类大脑的工作机制是人类追寻自然规律和自我意识的终极挑战。脑科学致力于研究分析神经系统的结构与功能,揭示各种神经活动的规律,在各个水平上阐明其机制,以及预防、诊治神经和精神疾患。核磁共振成像技术因其无损伤的优势已广泛应用于脑科学研究之中,现今大量相关科研成果均是建立在核磁共振成像数据的基础之上。本文基于深度学习算法针对脑
重金属在现代工业中被广泛使用,引发的重金属污染日益严重,已危害生态环境和人类的身体健康,成为全球性的问题。能够对水环境中重金属离子高效、便捷地检测,对构建持续、有效、实时的重金属污染监测治理体系具有重要意义。随着微/纳机电技术的快速发展,谐振传感器已实现对不同物质的痕量检测。尺寸小、灵敏度高、成本低、可用于水环境中重金属离子的检测。本文以微纳米梁谐振传感器为核心,设计了多个尺寸的悬臂梁和双端固支梁
近年来,人工智能在全球迎来了新一轮的研究热潮,在传统的机器学习算法之外,一种名为深度学习的技术被提出,其核心是模仿生物神经系统构建的神经网络,这种层层递进的模型结构由于其出色的特征提取与数据拟合能力,被广泛应用于各种人工智能产品中,如今常见的人脸检测、机器翻译、语音识别等应用都基于深度学习技术实现。深度学习应用的执行阶段包括模型训练和任务推断两个核心环节,模型训练是利用特定数据集修正神经网络参数值
矩阵变压器已被证明是提高数据中心电源效率的有效方案。然而在高频下产生的寄生参数、交流电阻等将影响矩阵变压器的效率及工作性能。因此研究高频下矩阵变压器的寄生参数、损耗分布及集成化等具有重要意义。本文基于半桥串并联谐振变换器(LLC型),提出了一种高效率高功率密度的矩阵变压器的设计方法和具体实现方式,对矩阵变压器寄生参数、损耗以及磁集成等关键问题进行了分析。主要工作如下:(1)建立了矩阵变压器寄生参数
随着集成电路的不断发展与进步,反激准谐振变换器由于其成本低、体积小、功率密度高,可以实现开关管零电流关断(Zero Current Switching,ZCS)与准零电压导通(Quasi-Zero Voltage Switching,Quasi-ZVS)等优点,具有广阔的发展前景。而目前反激准谐振变换器存在控制模式单一等问题,限制了其全负载范围内平均效率的提升。针对上述问题,本文设计了一种高频反激
反激准谐振变换器安全性高,稳定性好,在手机适配器等中小功率电源领域拥有广泛的应用前景。反激准谐振变换器简化了拓扑结构,通过谐振实现谷底导通,提高开关频率。同时,采用同步整流技术可以降低整流二极管的功耗,提高整体效率。然而由于反激准谐振变换器的工作波形谐振变化导致难以有效找到采样控制点,这阻碍了同步整流技术在反激准谐振变换器上的应用。针对上述问题,本文设计了一种反激准谐振变换器的同步整流控制策略。首
可编程逻辑控制器(PLC)是一种被广泛应用于工业控制领域的嵌入式设备。它常被用于实现安全攸关系统的控制逻辑,例如核电、交通、医疗设备等。这些系统对软件的正确性、可靠性有着极高的要求。而目前PLC程序开发主要依赖于个人经验,需求描述错误、程序设计错误难以避免。SPS4PLC来源于规格说明模式语言SPS,是一个专用于描述PLC控制系统的规格说明模式语言,它能够以接近自然语言的方式精确描述PLC控制系统