android fragmentation refers to the overwhelming diversity of android devices and OS versions. These lead to the impossibility of testing an app on every supported device, leaving a number of compatibility bugs scatte...
详细信息
android fragmentation refers to the overwhelming diversity of android devices and OS versions. These lead to the impossibility of testing an app on every supported device, leaving a number of compatibility bugs scattered in the community and thereby resulting in poor user experiences. To mitigate this, our fellow researchers have designed various works to automatically detect such compatibility issues. However, the current state-of-the-art tools can only be used to detect specific kinds of compatibility issues (i.e., compatibility issues caused by API signature evolution), i.e., many other essential types of compatibility issues are still unrevealed. For example, customized OS versions on real devices and semantic changes of OS could lead to serious compatibility issues, which are non-trivial to be detected statically. To this end, we propose a novel, lightweight, crowdsourced testing approach, LazyCow, to fill this research gap and enable the possibility of taming android fragmentation through crowdsourced efforts. Specifically, crowdsourced testing is an emerging alternative to conventional mobile testing mechanisms that allow developers to test their products on real devices to pinpoint platform-specific issues. Experimental results on thousands of test cases on real-world android devices show that LazyCow is effective in automatically identifying and verifying API-induced compatibility issues. Also, after investigating the user experience through qualitative metrics, users' satisfaction provides strong evidence that LazyCow is useful and welcome in practice.
Differences between android versions affect not only application developers but also make the task of securing android harder, as it is not easy to keep track of updates. In this paper, we first systematically analyze...
详细信息
Differences between android versions affect not only application developers but also make the task of securing android harder, as it is not easy to keep track of updates. In this paper, we first systematically analyze the android framework, which includes APIs and enforced manifest permissions to realize the inconsistency currently exists in the OS. To carry out the analysis, fine-grained machine learning-based classifiers are constructed out of predefined malicious-benign datasets to perform the task of malware detection. We propose the use of multiple feature vectors to build machine learning-based models targeting different ranges of android API levels. As a result, the process of choosing optimal learning features becomes more efficient while avoids complicating the machine learning model unnecessarily. Also, top features extracted from machine learning models provide us the insights about how important each of them is to specific android versions. We eventually observe the improvement of detection rates in those fine-grained classifiers compared to a single classifier. (C) 2019 The Authors. Published by Elsevier Ltd.
Despite the huge amount of high quality information available in socio-technical sites, it is still challenging to filter out relevant piece of information to a specific task in hand. Textual content classification ha...
详细信息
ISBN:
(纸本)9783030302443;9783030302436
Despite the huge amount of high quality information available in socio-technical sites, it is still challenging to filter out relevant piece of information to a specific task in hand. Textual content classification has been used to retrieve only relevant information to solve specific problems. However, those classifiers tend to present poor performance when the target classes have similar content. We aim at developing a Named Entity Recognizer (NER) model to recognize entities related to technical elements, and to improve textual classifiers for android fragmentation posts from Stack Overflow using the obtained NER model. The proposed NER model was trained for the entities API version, device, hardware, API element, technology and feature. The proposed classifiers were trained using the recognized entities as attributes. To evaluate the performances of these classifiers, we compared them with other three textual classifiers. The obtained results show that the constructed NER model can recognize entities efficiently, as well as discover new entities that were not present in the training data. The classifiers constructed using the NER model produced better results than the other baseline classifiers. We suggest that NER-based classifiers should be considered as a better alternative to classify technical textual context compared to generic textual classifiers.
android fragmentation refers to the increasing variety of android devices and operating system versions. Their number make it impossible to test an app on every supported device, resulting in many device compatibility...
详细信息
ISBN:
(纸本)9798400703270
android fragmentation refers to the increasing variety of android devices and operating system versions. Their number make it impossible to test an app on every supported device, resulting in many device compatibility issues and leading to poor user experiences. To mitigate this, a number of works that automatically detect compatibility issues have been proposed. However, 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 address this research gap and facilitate the prospect of taming android fragmentation through crowdsourced efforts, we propose LazyCow, a novel, lightweight, crowdsourced testing tool. Our 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 side and server side are all made publicly available in our artifact package. A demo video of our tool is available at https://***/watch?v=_xzWv_mo5xQ.
android ecosystem is heavily fragmented. The numerous combinations of different device models and operating system versions make it impossible for android app developers to exhaustively test their apps. As a result, v...
详细信息
ISBN:
(纸本)9781450338455
android ecosystem is heavily fragmented. The numerous combinations of different device models and operating system versions make it impossible for android app developers to exhaustively test their apps. As a result, various compatibility issues arise, causing poor user experience. However, little is known on the characteristics of such fragmentation-induced compatibility issues and no mature tools exist to help developers quickly diagnose and fix these issues. To bridge the gap, we conducted an empirical study on 191 real-world compatibility issues collected from popular open-source android apps. Our study characterized the symptoms and root causes of compatibility issues, and disclosed that the patches of these issues exhibit common patterns. With these findings, we propose a technique named FicFinder to automatically detect compatibility issues in android apps. FicFinder performs static code analysis based on a model that captures android APIs as well as their associated context by which compatibility issues are triggered. FicFinder reports actionable debugging information to developers when it detects potential issues. We evaluated FicFinder with 27 large-scale open-source android apps. The results show that FicFinder can precisely detect compatibility issues in these apps and uncover previously-unknown issues.
android ecosystem is heavily fragmented. The numerous combinations of different device models and operating system versions make it impossible for android app developers to exhaustively test their apps, and thus vario...
详细信息
android ecosystem is heavily fragmented. The numerous combinations of different device models and operating system versions make it impossible for android app developers to exhaustively test their apps, and thus various compatibility issues arise. Unfortunately, little is known on the characteristics of such fragmentation-induced compatibility issues. No mature tools exist to help developers quickly diagnose and fix these issues. To bridge the gap, we conducted an empirical study on 220 real-world compatibility issues collected from five popular open-source android apps. We further interviewed android practitioners and conducted an online survey to gain insights from real practices. Via the studies, we characterized compatibility issues, investigated common practices to handle compatibility issues, and disclosed that these issues exhibit common patterns. With these findings, we propose a technique, FicFinder, to automatically detect compatibility issues in android apps. FicFinder performs static code analysis based on a model that captures android APIs as well as their associated context by which compatibility issues can be triggered. FicFinder reports actionable debugging information to developers when it detects potential issues. We evaluated FicFinder with 53 large-scale open-source android apps. The results show that FicFinder can precisely detect compatibility issues in these apps and uncover previously-unknown issues.
android fragmentation is a double-edged sword of the android ecosystem. On the one hand, it promotes android's prevalence. On the other hand, the numerous combinations of various system versions, customized featur...
详细信息
ISBN:
(纸本)9781728119700
android fragmentation is a double-edged sword of the android ecosystem. On the one hand, it promotes android's prevalence. On the other hand, the numerous combinations of various system versions, customized features, system drivers, and device models make it infeasible, if not impossible, for developers to exhaustively test their apps for potential compatibility issues. Previous research has proposed promising techniques for detecting these issues. However, they suffer from severe false positive problems due to their lack of third-party library detection or imprecise program analysis. In this paper, we present ELEGANT, an automated tool to effectively detect and locate fragmentation-induced compatibility issues for android apps. ELEGANT exploits whitelist-enhanced or obfuscation-insensitive techniques to detect and alleviate the impact of third-party libraries on the analysis precision, and uses a three-step static detection algorithm to increase the precision of its program analysis. We experimentally evaluated ELEGANT with 22 real-world popular android apps. The experimental results confirmed ELEGANT's effectiveness on detecting and locating android fragmentation-induced compatibility issues, as well as realizing an impressive reduction on false positives by around 70%.
The compatibility issues caused by android fragmentation have become a vital task in the development of android applications. To locate those issues, thousand of crowd testers run apps on different devices with differ...
详细信息
The compatibility issues caused by android fragmentation have become a vital task in the development of android applications. To locate those issues, thousand of crowd testers run apps on different devices with different configurations to achieve the largest coverage, which might be costly and time-consuming. Since existing approaches to selecting optimal devices are device-side analysis without the information of the internal structures of apps, app-side analysis that flags the essential devices for testers has remained elusive. To mitigate this gap of compatibility crowdtesting, this paper proposes an app constraint analysis approach named CompatDroid to generate the optimal device set to guide crowd testers. By evaluating 46 benchmark apps on 14 SDK versions, the optimal device sets are successfully generated, and CompatDroid only needs no more than 7 android versions to achieve almost the same code coverage (i.e., 33.13%) testing on all 14 android versions (i.e., 34.65%) in 36 of 46 apps, which indicates that it can drastically reduce the consumption of test resources while losing little test coverage. On a larger dataset, CompatDroid successfully analyzes 98.3% of 645 apps, in which the median number of the optimal SDK versions set is 2.5 versions, and 68.92% of those apps contain the constraints of SDK version (i.e., SDK version) while 84.86% of them do not have the constraints of hardware information (i.e., model name and manufacture name).
Today's mobile market is composed of multiple brands and device models with different characteristics. In addition, mobile apps can present particular behaviours when running on these diverse devices. Mobile compa...
详细信息
Today's mobile market is composed of multiple brands and device models with different characteristics. In addition, mobile apps can present particular behaviours when running on these diverse devices. Mobile compatibility testing is a quality assurance task aimed at ensuring that apps run correctly on all devices. However, it is infeasible to test all devices on the market. This paper aims to identify and categorise the research evidence that has been published in Mobile Compatibility Testing. We conducted a Multivocal Literature Mapping (MLM) divided into two phases: a systematic mapping study guided by the snowballing approach and a grey literature review. Results have evinced a need for continuous monitoring of API evolution and operating systems' updates. Those changes have an immediate impact on mobile app compatibility and device selection for testing. There is still room for new studies to understand the mobile app characteristics to improve methods for selection of devices.
Star ratings that are given by the users of mobile apps directly impact the revenue of its developers. At the same time, for popular platforms like android, these apps must run on hundreds of devices increasing the ch...
详细信息
ISBN:
(纸本)9781450330565
Star ratings that are given by the users of mobile apps directly impact the revenue of its developers. At the same time, for popular platforms like android, these apps must run on hundreds of devices increasing the chance for device-specific problems. Devicespecific problems could impact the rating assigned to an app, given the varying capabilities of devices (e. g., hardware and software). To fix device-specific problems developers must test their apps on a large number of android devices, which is costly and inefficient. Therefore, to help developers pick which devices to test their apps on, we propose using the devices that are mentioned in user reviews. We mine the user reviews of 99 free game apps and find that, apps receive user reviews from a large number of devices: between 38 to 132 unique devices. However, most of the reviews (80%) originate from a small subset of devices (on average, 33%). Furthermore, we find that developers of new game apps with no reviews can use the review data of similar game apps to select the devices that they should focus on first. Finally, among the set of devices that generate the most reviews for an app, we find that some devices tend to generate worse ratings than others. Our findings indicate that focusing on the devices with the most reviews (in particular the ones with negative ratings), developers can effectively prioritize their limited Quality Assurance (QA) efforts, since these devices have the greatest impact on ratings.
暂无评论