1,771 research outputs found

    Automated Test Input Generation for Android: Are We There Yet?

    Full text link
    Mobile applications, often simply called "apps", are increasingly widespread, and we use them daily to perform a number of activities. Like all software, apps must be adequately tested to gain confidence that they behave correctly. Therefore, in recent years, researchers and practitioners alike have begun to investigate ways to automate apps testing. In particular, because of Android's open source nature and its large share of the market, a great deal of research has been performed on input generation techniques for apps that run on the Android operating systems. At this point in time, there are in fact a number of such techniques in the literature, which differ in the way they generate inputs, the strategy they use to explore the behavior of the app under test, and the specific heuristics they use. To better understand the strengths and weaknesses of these existing approaches, and get general insight on ways they could be made more effective, in this paper we perform a thorough comparison of the main existing test input generation tools for Android. In our comparison, we evaluate the effectiveness of these tools, and their corresponding techniques, according to four metrics: code coverage, ability to detect faults, ability to work on multiple platforms, and ease of use. Our results provide a clear picture of the state of the art in input generation for Android apps and identify future research directions that, if suitably investigated, could lead to more effective and efficient testing tools for Android

    Overcoming Language Dichotomies: Toward Effective Program Comprehension for Mobile App Development

    Full text link
    Mobile devices and platforms have become an established target for modern software developers due to performant hardware and a large and growing user base numbering in the billions. Despite their popularity, the software development process for mobile apps comes with a set of unique, domain-specific challenges rooted in program comprehension. Many of these challenges stem from developer difficulties in reasoning about different representations of a program, a phenomenon we define as a "language dichotomy". In this paper, we reflect upon the various language dichotomies that contribute to open problems in program comprehension and development for mobile apps. Furthermore, to help guide the research community towards effective solutions for these problems, we provide a roadmap of directions for future work.Comment: Invited Keynote Paper for the 26th IEEE/ACM International Conference on Program Comprehension (ICPC'18

    Taming Android Fragmentation through Lightweight Crowdsourced Testing

    Full text link
    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

    Open Source, Modular Platforms, and the Challenge of Fragmentation

    Get PDF
    Open source and modular platforms represent two powerful conceptual paradigms that have fundamentally transformed the software industry. While generally regarded complementary, the freedom inherent in open source rests in uneasy tension with the strict structural requirements required by modularity theory. In particular, third party providers can produce noncompliant components, and excessive experimentation can fragment the platform in ways that reduce its economic benefits for end users and app providers and force app providers to spend resources customizing their code for each variant. The classic solutions to these problems are to rely on some form of testing to ensure that the components provided by third parties comply with a compatibility standard and to subject the overall system to some form of governance. The history of the three leading open source operating systems (Unix, Symbian, and Linux) confirms this insight. The question is thus not whether some constraints will apply, but rather how restrictive those constraints will be. Finally, the governance regimes range from very restrictive to relatively open and permissive. Competition policy authorities should take into account where certain practices fall along that spectrum when enforcing competition law. Exposing the more permissive practices to demanding scrutiny runs the risk of causing operating systems to turn to more restrictive approaches

    Problems and Solutions in Mobile Application Testing

    Get PDF
    Mobiilirakenduste testimise alaste teadusartiklite arv on viimastel aastatel visalt suurenenud. Samas testivad vähesed mobiilirakendustega tegelevad teadlased oma oletusi ja lahendusi firmades. Selle lõputöö eesmärgiks on pakkuda ülevaade teaduskirjanduses mainitud mobiilirakenduste testimisega seotud probleemidest ja potentsiaalsetest lahendustest ning kõrvutada seda alal igapäevaselt tegutsevate professionaalide arvamusega. Kõigepealt viiakse selle töö käigus läbi teaduskirjanduse uuring probleemide ja potentsiaalsete lahenduste väljaselgitamiseks, misjärel intervjueeritakse kuue mobiilirakenduste testimisega tegeleva firma esindajaid, et välja selgitada, kas kirjelduses esile toodud probleemid on olulised ka tööstuses. Intervjuude tulemusena selgus, et kuigi firmad hindavad probleemide tähtsust väga erinevalt, on siiski olemas mõned võtmeprobleemid, mida peetakse oluliseks nii teaduses kui ka tööstuses. Samas on teaduskirjanduses pakutud lahendused tihti liiga teoreetilised, üldised või vananenud, et firmade esindajatele huvi pakkuda.In recent years the amount of scientific papers published on the topic of mobile applications has significantly increased. However, few researchers test their assumptions and solutions in industry. This thesis aims to provide an overview of what current scientific literature considers problems and potential solutions in mobile application testing, and compare it to opinions of industry professionals. A literature review is performed to extract the list of problems and potential solutions, after which representatives of six Estonian companies involved in the field are interviewed to verify whether the problems and solutions proposed in the literature are relevant for industry. The study reveals that while the relevance of each problem is highly variable from one company to another, there are some key problems that are generally considered vital both by research and industry. However, the solution concepts proposed by scientific literature are often too theoretical, general or outdated to be of much interest to industry professionals

    CROSS-SECTIONAL EXAMINATION ON ANDROID SECURITY

    Get PDF

    Android and Forking Restrictions: On the Hidden Closedness of “Open”

    Get PDF
    The Google Android Decision was announced by the European Commission on 18 July 2018. The Commission found that three restrictions related to Android and Android apps that Google imposed on mobile device manufacturers and network operators infringed Article 102 TFEU. These restrictions, according to the Commission, “have enabled Google to use Android as a vehicle to cement the dominance of its search engine”. The Android Decision is not yet public. The prohibition of Google’s tying practices on the Android platform has already attracted significant attention by early commentators, also due to the proximity to other high profile antitrust cases. Against the backdrop of the still limited information available, the article proposes some first reflections on another conduct sanctioned by the Android Decision, namely Google’s forking restriction imposed on device manufacturers. In particular, the article describes a possible reasoning underpinning Google’s anti-fragmentation justification based on the economics of two-sided platforms. This justification stems from a purely “transactional view” of platforms. The article concludes that this view is only partially suitable to provide an accurate description of complex innovation ecosystems for the purposes of competition policy enforcement

    Policy Enforcement with Proactive Libraries

    Full text link
    Software libraries implement APIs that deliver reusable functionalities. To correctly use these functionalities, software applications must satisfy certain correctness policies, for instance policies about the order some API methods can be invoked and about the values that can be used for the parameters. If these policies are violated, applications may produce misbehaviors and failures at runtime. Although this problem is general, applications that incorrectly use API methods are more frequent in certain contexts. For instance, Android provides a rich and rapidly evolving set of APIs that might be used incorrectly by app developers who often implement and publish faulty apps in the marketplaces. To mitigate this problem, we introduce the novel notion of proactive library, which augments classic libraries with the capability of proactively detecting and healing misuses at run- time. Proactive libraries blend libraries with multiple proactive modules that collect data, check the correctness policies of the libraries, and heal executions as soon as the violation of a correctness policy is detected. The proactive modules can be activated or deactivated at runtime by the users and can be implemented without requiring any change to the original library and any knowledge about the applications that may use the library. We evaluated proactive libraries in the context of the Android ecosystem. Results show that proactive libraries can automati- cally overcome several problems related to bad resource usage at the cost of a small overhead.Comment: O. Riganelli, D. Micucci and L. Mariani, "Policy Enforcement with Proactive Libraries" 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), Buenos Aires, Argentina, 2017, pp. 182-19

    Comparison Of Apple\u27s Ios 5 And Android For Mobile Applications Development: A Developer\u27s Perspective

    Get PDF
    Body composition, or the proportion of fat, muscle, and bone of an individual\u27s body, is an important indication of health status. Numerous techniques can be used to assess body composition, producing varied results and measurements. For individuals with insufficient or excessive amounts of body fat, accurate assessment of body composition is crucial. Two commonly used techniques for measuring body composition are air displacement plethysmography (adp) and dual-energy x-ray absorptiometry (dxa). Past research has been conducted, comparing adp and dxa, but the results are inconsistent. The majority of past studies found that, when compared to dxa, adp underestimated body fat percentage, but a few studies found that adp overestimated body fat percentage. Additionally, majority of the past studies have focused on ideal weight, overweight, and obese adults, with little research on body composition of athletes. Therefore, the purpose of this study was to determine whether body fat percentages obtained by adp and dxa statistically differ from one another, specifically in a lean population. Ninety-three collegiate student athletes participating in Division I NCAA sports participated in the study. Subjects underwent a bod pod and dxa scan, measuring their body composition. Body fat measures were then analyzed using spss. Paired-sample t-tests were conducted, comparing body fat percentage estimates from adp and dxa. Box plots and bland-altman plots were also created to display data. Results shothat body fat percentages obtained by adp were significantly lower than body fat percentages obtained by dxa, with the difference being greater in leaner individuals. These results are consistent with the majority of past research, which states that adp underestimates body fat percentage when compared to dxa. Clinicians should consider this discrepancy between adp and dxa for deciding which equipment to use when making clinical decions regarding student athletes\u27 health or participation status
    corecore