Automated test oracles for GUIs
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Symbolic execution and program testing
Communications of the ACM
Generating Test Cases for GUI Responsibilities Using Complete Interaction Sequences
ISSRE '00 Proceedings of the 11th International Symposium on Software Reliability Engineering
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
DART: directed automated random testing
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Generating Event Sequence-Based Test Cases Using GUI Runtime State Feedback
IEEE Transactions on Software Engineering
KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
TaintDroid: an information-flow tracking system for realtime privacy monitoring on smartphones
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
Developing a Single Model and Test Prioritization Strategies for Event-Driven Software
IEEE Transactions on Software Engineering
Automating GUI testing for Android applications
Proceedings of the 6th International Workshop on Automation of Software Test
Experiences of System-Level Model-Based GUI Testing of an Android Application
ICST '11 Proceedings of the 2011 Fourth IEEE International Conference on Software Testing, Verification and Validation
Vision: automated security validation of mobile apps at app markets
MCS '11 Proceedings of the second international workshop on Mobile cloud computing and services
GUI Interaction Testing: Incorporating Event Context
IEEE Transactions on Software Engineering
Search-based system testing: high coverage, no false alarms
Proceedings of the 2012 International Symposium on Software Testing and Analysis
Using GUI ripping for automated testing of Android applications
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
Security'12 Proceedings of the 21st USENIX conference on Security symposium
Automated concolic testing of smartphone apps
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Guided GUI testing of android apps with minimal restart and approximate learning
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
DroidFuzzer: Fuzzing the Android Apps with Intent-Filter Tag
Proceedings of International Conference on Advances in Mobile Computing & Multimedia
Challenges in mobile apps: a multi-disciplinary perspective
CASCON '13 Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research
Execution and property specifications for JPF-android
ACM SIGSOFT Software Engineering Notes
DECAF: detecting and characterizing ad fraud in mobile apps
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Hi-index | 0.00 |
We present a system Dynodroid for generating relevant inputs to unmodified Android apps. Dynodroid views an app as an event-driven program that interacts with its environment by means of a sequence of events through the Android framework. By instrumenting the framework once and for all, Dynodroid monitors the reaction of an app upon each event in a lightweight manner, using it to guide the generation of the next event to the app. Dynodroid also allows interleaving events from machines, which are better at generating a large number of simple inputs, with events from humans, who are better at providing intelligent inputs. We evaluated Dynodroid on 50 open-source Android apps, and compared it with two prevalent approaches: users manually exercising apps, and Monkey, a popular fuzzing tool. Dynodroid, humans, and Monkey covered 55%, 60%, and 53%, respectively, of each app's Java source code on average. Monkey took 20X more events on average than Dynodroid. Dynodroid also found 9 bugs in 7 of the 50 apps, and 6 bugs in 5 of the top 1,000 free apps on Google Play.