Sapienz: multi-objective automated testing for Android applications

Sapienz: multi-objective automated testing for Android applications
复制标题

DOI:
10.1145/2931037.2931054
复制
发表时间:
2016-07
期刊:
Proceedings of the 25th International Symposium on Software Testing and Analysis
影响因子:
--
通讯作者:
Ke Mao;M. Harman;Yue Jia
Ke Mao;M. Harman;Yue Jia
中科院分区:
其他
文献类型:
--
作者:
Ke Mao;M. Harman;Yue Jia

文献摘要

被引文献

相似文献

Sapienz是一种Android测试方法,它使用基于多目标搜索的测试来自动探索和优化测试序列,最大限度地减少长度,同时最大限度地提高覆盖率和故障揭示率。Sapienz结合了随机模糊,系统和基于搜索的探索,利用播种和多级仪器。Sapienz显著优于(具有较大的效应量)最先进的技术Dynodroid和广泛使用的工具Android Monkey,在7/10的覆盖率实验中,7/10的故障检测和10/10的故障揭示序列长度。当应用于前1,000个Google Play应用程序时,Sapienz发现了558个独特的,以前未知的崩溃。到目前为止,我们已经成功与27个崩溃应用程序的开发者取得了联系。其中,14起事故已确认是由真实的故障造成的。在这14个问题中,有6个已经得到了开发人员的确认。
We introduce Sapienz, an approach to Android testing that uses multi-objective search-based testing to automatically explore and optimise test sequences, minimising length, while simultaneously maximising coverage and fault revelation. Sapienz combines random fuzzing, systematic and search-based exploration, exploiting seeding and multi-level instrumentation. Sapienz significantly outperforms (with large effect size) both the state-of-the-art technique Dynodroid and the widely-used tool, Android Monkey, in 7/10 experiments for coverage, 7/10 for fault detection and 10/10 for fault-revealing sequence length. When applied to the top 1,000 Google Play apps, Sapienz found 558 unique, previously unknown crashes. So far we have managed to make contact with the developers of 27 crashing apps. Of these, 14 have confirmed that the crashes are caused by real faults. Of those 14, six already have developer-confirmed fixes.