基于约束求解的移动应用并发错误探测方法研究

来源 :东南大学 | 被引量 : 0次 | 上传用户:caojiangtao007
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
多线程编程模型和异步事件处理机制的引入使得安卓应用的执行行为具有不确定性。若两个事件以预期之外的顺序访问同一个共享对象时,则可发生顺序违背。顺序违背是一种常见的安卓应用并发缺陷,可导致安卓应用运行异常和崩溃等严重后果。现有的安卓应用并发缺陷探测工具大多采用静态或动态探测方法,但这些方法存在误报率高、代码覆盖率低等问题。针对上述问题,本文提出一种基于约束求解的安卓应用顺序违背探测方法。该方法首先通过静态分析待测应用获取该应用的共享变量及相关读写信息,得到潜在顺序违背语句对集;然后采用动态搜索技术生成待测应用的GUI模型,并使用符号执行工具生成该应用的符号摘要信息;再根据GUI模型和符号摘要信息,生成可执行事件序列覆盖相应潜在顺序违背的语句对所在代码;最后动态执行事件序列,并通过插桩执行获取其执行轨迹,在此基础上对潜在顺序违背事件及相关上下文进行约束编码,并使用约束求解器求解,将并发错误探测问题转化为约束求解的问题。该方法通过生成可执行序列和约束求解,降低误报率,来提高探测能力和探测效率。在上述工作的基础上,本文设计并实现了基于约束求解的安卓应用顺序违背并发错误探测工具ODecs Droid,与现有顺序违背探测工具n Android和SARD进行比较。实验结果表明,ODecs Droid可有效探测安卓应用顺序违背,在探测精度和探测效率方面达到了较好的折中。与n Android相比,ODecs Droid探测的真实顺序违背数量(平均为5.72个)高于n Android(平均为4.72个),并且ODecs Droid的误报率(21%)显著低于n Android(82%);与SARD相比,ODecs Droid探测的真实顺序违背数量与SARD(平均为5.61个)相近,但SARD的误报率(52%)仍高于ODecs Droid。ODecs Droid在运行时间上高于SARD,仅为n Android的44%。
其他文献
以“瓷胎竹编”工艺的转化实践为题,讨论非遗传承与创新的思路。在四川天府国际机场公共艺术设计中,让“瓷胎竹编”工艺第一次走出了“把玩”的视觉空间,与休闲设施结合,创作突破传统工艺尺度超过100倍!成为可参与、可使用、可审美的公共艺术品。人们可以从多元的视角去欣赏、体验这种古老而优雅的技艺。在设计实践中总结了传统技艺活态化转型的一定经验,希望为更多的非遗转化提供研究和操作可能性。创新设计需要以民族、民
多孔弹性路面(PERS)以橡胶颗粒取代部分集料,聚氨酯取代沥青作为胶结料。PERS路面降噪效果优异,但在荷载作用下混合料内部材料界面易产生破坏,如果加大胶结料用量又会增加成本。本文以分子动力学为基础,模拟各种界面活化方法对PERS混合料内部材料界面粘结能力的影响,并通过室内试验验证分子动力学模拟结果,以期为多孔弹性路面混合料材料优化提供参考。首先,利用分子动力学模拟手段,研究了各种活化橡胶与聚氨酯
学位
学位
学位
学位
学位
学位
学位
近年来,随着经济的发展,社会信息化的程度不断提高,传统的通信机房已经不再能满足人们日益的需求,人们开始更关注的是其舒适度、安全性、方便性等等。物联网系统以先进的计算机、嵌入式、网络、自动控制技术等为基础,将网络、各种通信设备、机房电器、机房安保装置通过有线或无线的方式连接起来,进行集中地监测管理,从而为用户提供安全、舒适、温馨、便利的高品味机房环境,优化通信机房,有着广阔的市场前景。本文设计并实现