TL;DR
This paper presents Genie, a fully automated fuzzing tool that detects non-crashing functional bugs in Android apps by leveraging independent view properties and metamorphic testing, addressing a significant gap in automated testing.
Contribution
The paper introduces independent view fuzzing, a novel automated approach for detecting non-crashing bugs in Android apps without human tests or oracles, enhancing testing coverage.
Findings
Genie effectively detects diverse non-crashing bugs automatically.
The approach outperforms prior methods limited to crash detection.
Genie requires no human-provided tests or oracles.
Abstract
Android apps are GUI-based event-driven software and have become ubiquitous in recent years. Obviously, functional correctness is critical for an app's success. However, in addition to crash bugs, non-crashing functional bugs (in short as "non-crashing bugs" in this work) like inadvertent function failures, silent user data lost and incorrect display information are prevalent, even in popular, well-tested apps. These non-crashing functional bugs are usually caused by program logic errors and manifest themselves on the graphic user interfaces (GUIs). In practice, such bugs pose significant challenges in effectively detecting them because (1) current practices heavily rely on expensive, small-scale manual validation (the lack of automation); and (2) modern fully automated testing has been limited to crash bugs (the lack of test oracles). This paper fills this gap by introducing…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
