8,328 research outputs found
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
An Economic Study of the Effect of Android Platform Fragmentation on Security Updates
Vendors in the Android ecosystem typically customize their devices by
modifying Android Open Source Project (AOSP) code, adding in-house developed
proprietary software, and pre-installing third-party applications. However,
research has documented how various security problems are associated with this
customization process.
We develop a model of the Android ecosystem utilizing the concepts of game
theory and product differentiation to capture the competition involving two
vendors customizing the AOSP platform. We show how the vendors are incentivized
to differentiate their products from AOSP and from each other, and how prices
are shaped through this differentiation process. We also consider two types of
consumers: security-conscious consumers who understand and care about security,
and na\"ive consumers who lack the ability to correctly evaluate security
properties of vendor-supplied Android products or simply ignore security. It is
evident that vendors shirk on security investments in the latter case.
Regulators such as the U.S. Federal Trade Commission have sanctioned Android
vendors for underinvestment in security, but the exact effects of these
sanctions are difficult to disentangle with empirical data. Here, we model the
impact of a regulator-imposed fine that incentivizes vendors to match a minimum
security standard. Interestingly, we show how product prices will decrease for
the same cost of customization in the presence of a fine, or a higher level of
regulator-imposed minimum security.Comment: 22nd International Conference on Financial Cryptography and Data
Security (FC 2018
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
Translating Video Recordings of Mobile App Usages into Replayable Scenarios
Screen recordings of mobile applications are easy to obtain and capture a
wealth of information pertinent to software developers (e.g., bugs or feature
requests), making them a popular mechanism for crowdsourced app feedback. Thus,
these videos are becoming a common artifact that developers must manage. In
light of unique mobile development constraints, including swift release cycles
and rapidly evolving platforms, automated techniques for analyzing all types of
rich software artifacts provide benefit to mobile developers. Unfortunately,
automatically analyzing screen recordings presents serious challenges, due to
their graphical nature, compared to other types of (textual) artifacts. To
address these challenges, this paper introduces V2S, a lightweight, automated
approach for translating video recordings of Android app usages into replayable
scenarios. V2S is based primarily on computer vision techniques and adapts
recent solutions for object detection and image classification to detect and
classify user actions captured in a video, and convert these into a replayable
test scenario. We performed an extensive evaluation of V2S involving 175 videos
depicting 3,534 GUI-based actions collected from users exercising features and
reproducing bugs from over 80 popular Android apps. Our results illustrate that
V2S can accurately replay scenarios from screen recordings, and is capable of
reproducing 89% of our collected videos with minimal overhead. A case
study with three industrial partners illustrates the potential usefulness of
V2S from the viewpoint of developers.Comment: In proceedings of the 42nd International Conference on Software
Engineering (ICSE'20), 13 page
Context-driven progressive enhancement of mobile web applications: a multicriteria decision-making approach
Personal computing has become all about mobile and embedded devices. As a result, the adoption rate of smartphones is rapidly increasing and this trend has set a need for mobile applications to be available at anytime, anywhere and on any device. Despite the obvious advantages of such immersive mobile applications, software developers are increasingly facing the challenges related to device fragmentation. Current application development solutions are insufficiently prepared for handling the enormous variety of software platforms and hardware characteristics covering the mobile eco-system. As a result, maintaining a viable balance between development costs and market coverage has turned out to be a challenging issue when developing mobile applications. This article proposes a context-aware software platform for the development and delivery of self-adaptive mobile applications over the Web. An adaptive application composition approach is introduced, capable of autonomously bypassing context-related fragmentation issues. This goal is achieved by incorporating and validating the concept of fine-grained progressive application enhancements based on a multicriteria decision-making strategy
Survey of End-to-End Mobile Network Measurement Testbeds, Tools, and Services
Mobile (cellular) networks enable innovation, but can also stifle it and lead
to user frustration when network performance falls below expectations. As
mobile networks become the predominant method of Internet access, developer,
research, network operator, and regulatory communities have taken an increased
interest in measuring end-to-end mobile network performance to, among other
goals, minimize negative impact on application responsiveness. In this survey
we examine current approaches to end-to-end mobile network performance
measurement, diagnosis, and application prototyping. We compare available tools
and their shortcomings with respect to the needs of researchers, developers,
regulators, and the public. We intend for this survey to provide a
comprehensive view of currently active efforts and some auspicious directions
for future work in mobile network measurement and mobile application
performance evaluation.Comment: Submitted to IEEE Communications Surveys and Tutorials. arXiv does
not format the URL references correctly. For a correctly formatted version of
this paper go to
http://www.cs.montana.edu/mwittie/publications/Goel14Survey.pd
An empirical study of power consumption of Web-based communications in mobile phones
Currently, mobile devices are the most popular
pervasive computing device, and they are becoming the primer way for Web access. Energy is a critical resource in such pervasive
computing devices, being network communication one of the primary energy consuming operations in mobile apps. Indeed, web-based communication is the most used, but also energy demanding. So, mobile web developers should be aware of how much energy consumes the different web-based communication alternatives. The goal of this paper is to measure and compare the
energy consumption of three asynchronous Web-based methods in mobile devices. Our experiments consider three different Web applications models that allow a web server to push data to a browser: Polling, Long Polling and WebSockets. The obtained
results are analyzed to get more accurate understanding of the impact in energy consumption of a mobile browser for each
of these three methods. The utility of these experiments is to show developers what are the factors that influence the energy consumption when different web-based asynchronous communication
is used. With this information mobile web developers
could reduce the power consumption of web applications on
mobile devices, by selecting the most appropriate method for
asynchronous server communication.MUniversidad de Málaga. Campus de Excelencia Internacional Andalucía Tech
- …
