Fuzzing is an important technique to ensure the quality of Android application. However, the fuzzing of Android application still faces several challenges. How to recognize the rendered GUI widgets within an Android game application? How to realize scalable white-box fuzzing? How to solve the test oracle problem for Android application? How to reduce the failure-triggering input event sequence for ease of debugging? These problems must be solved when building an effective fuzzing system. In this project, we will study the automatic GUI widget recognition technique based on deep learning. We will investigate the execution environment simulation and parallel acceleration technique for white-box fuzzing. We will study differential testing technique to address the test oracle problem. And finally we will work on hierarchical delta debugging techniques for input event sequence reduction. Our previous research and technical experiences on android testing will help ensure the success of this project. The research findings of this project will improve the state of the art of Android fuzzing tools, which in turn will help improve the quality of Android applications in the market.
模糊测试是保障Android应用质量的一个重要手段。但Android应用的模糊测试仍然存在着诸多挑战:如何准确而快速的识别Android游戏中的可操作控件,实现有效的游戏模糊测试;如何实现可扩展的白盒模糊测试;如何解决Android应用的测试预言判定问题;如何高效的对引发错误的模糊测试用例进行精简来方便调试。这些都是我们实现高效的Android应用模糊测试系统要解决的关键问题。针对这些问题,在本项目中,我们将研究基于深度学习方法的游戏控件自动化识别技术、研究白盒模糊测试中对应用执行环境的模拟技术和集群并行加速技术、研究Android应用的差分测试技术、研究高效的层次化增量调试技术。我们前期在Android测试领域的研究基础和技术积累为本项目的成功实施提供了有力保障。而本项目的研究成果也能够进一步推动Android应用模糊测试技术的发展,从而促进移动应用质量的提高。
模糊测试是保障Android应用质量的一个重要手段。但Android应用的模糊测试仍然存在着诸多挑战:如何准确而快速的识别Android游戏中的可操作控件,实现有效的游戏模糊测试;如何解决Android应用的测试预言判定问题;如何高效的对引发错误的模糊测试用例进行精简来方便调试。这些都是我们实现高效的Android应用模糊测试系统要解决的关键问题。.项目组在Android应用的模糊测试关键技术上,结合工业界的需求和学术界的挑战,完成了四个方面的研究。首先,我们研究了面向Android应用的GUI黑盒模糊测试技术,发现了GUI建模粒度对测试效果的重要影响;然后,项目组研究了面向Android游戏的模糊测试技术,有效的解决了游戏测试工具如何“看到”渲染控件的问题;接着,项目组研究了测试用例的精简技术,解决了模糊测试对调试的支撑问题;最后,项目组研究了Android应用程序的自动化回归测试用例选择技术,有效的降低Android应用回归测试的开销,同时通过多个演化的应用版本设计差分测试来解决Test Oracle的问题。.在项目的资助下,项目组还研究了CUDA编译器的模糊测试技术,解决了CUDA编译器的自动化测试问题;研究了区块链智能合约的模糊测试技术,对智能合约的安全性漏洞进行有效的挖掘;研究并发应用的测试技术,解决原子性违反和不可串行化问题;研究基于新型持久化内存硬件的OLTP存储引擎技术。.项目的研究成果超额完成了预期目标。项目合计发表论文16篇。其中CCF A类论文4篇(3篇A类会议,1篇A类期刊),另外发表SCI期刊5篇,其中SCI的1区期刊3篇。出版《嵌入式软件系统测试》专著一本。项目培养硕士生10人,博士生2人;。项目申请专利3项,其中授权2项。项目实现了实现Android测试工具集4个。包括Android GUI模糊测试工具,Android测试用例精简工具,Android游戏测试工具,Android回归测试工具。在产业应用方面,课题组已与华为公司在Android应用测试技术展开了项目技术落地合作;项目组也与国内某GPU芯片公司展开了编译器模糊测试的合作工作。最后,项目组的部分项目成果参与获得省部级一等奖一项,省部级二等奖一项。并获得QRS 2017会议最佳论文。
{{i.achievement_title}}
数据更新时间:2023-05-31
城市轨道交通车站火灾情况下客流疏散能力评价
基于LBS的移动定向优惠券策略
基于相似日理论和CSO-WGPR的短期光伏发电功率预测
多种监测手段在滑坡变形中的组合应用
柔性基、柔性铰空间机器人基于状态观测的改进模糊免疫混合控制及抑振研究
针对应用开发者的Android关键安全技术研究
基于智能模糊测试的深度漏洞挖掘技术研究
基于启发式GUI模糊测试的移动应用自动并行化测试方法研究
Android智能终端安全漏洞挖掘技术研究