LazyCow: A Lightweight Crowdsourced Testing Tool for Taming Android Fragmentation
Android fragmentation refers to the vast variety of Android devices and operating system versions. These factors make it impossible to test an app on every supported device, resulting in a bunch of compatibility issues and thereby leading to poor user experiences. To mitigate this, our fellow researchers have proposed a number of works that automatically detect compatibility issues. However, the current state-of-the-art techniques can only be used to detect specific types of compatibility issues (i.e., compatibility issues caused by API signature evolution), i.e., many other essential categories of compatibility issues are still unknown. For instance, customised OS versions on real devices and semantic OS modifications could result in severe compatibility issues that are difficult to detect statically. In order to cover this research gap and facilitate the prospect of taming Android fragmentation through crowdsourced efforts, we propose LazyCow, a lightweight crowdsourced testing tool. Experimental results involving thousands of test cases on real Android devices demonstrate that LazyCow is effective at autonomously identifying and validating API-induced compatibility issues. The source code of both client side1 and server side 2 are all made publicly available in our artifact package. A demo video of our tool is available at https://www.youtube.com/watch?v=_xzWv_mo5xQ.