1,771 research outputs found
Automated Test Input Generation for Android: Are We There Yet?
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
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
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
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
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
Android and Forking Restrictions: On the Hidden Closedness of “Open”
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
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
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
- …