793 research outputs found
Supporting Evolution and Maintenance of android Apps
Mobile developers and testers face a number of emerging challenges. These include rapid platform evolution and API instability; issues in bug reporting and reproduction involving complex multitouch gestures; platform fragmentation; the impact of reviews and ratings on the success of their apps; management of crowd-sourced requirements; continuous pressure from the market for frequent releases; lack of effective and usable testing tools; and limited computational resources for handheld devices. Traditional and contemporary methods in software evolution and maintenance were not designed for these types of challenges; therefore, a set of studies and a new toolbox of techniques for mobile development are required to analyze current challenges and propose new solutions. This dissertation presents a set of empirical studies, as well as solutions for some of the key challenges when evolving and maintaining android apps. In particular, we analyzed key challenges experienced by practitioners and open issues in the mobile development community such as (i) android API instability, (ii) performance optimizations, (iii) automatic GUI testing, and (iv) energy consumption. When carrying out the studies, we relied on qualitative and quantitative analyses to understand the phenomena on a large scale by considering evidence extracted from software repositories and the opinions of open-source mobile developers. From the empirical studies, we identified that dynamic analysis is a relevant method for several evolution and maintenance tasks, in particular, because of the need of practitioners to execute/validate the apps on a diverse set of platforms (i.e., device and OS) and under pressure for continuous delivery. Therefore, we designed and implemented an extensible infrastructure that enables large-scale automatic execution of android apps to support different evolution and maintenance tasks (e.g., testing and energy optimization). In addition to the infrastructure we present a taxonomy of issues, single solutions to the issues, and guidelines to enable large execution of android apps. Finally, we devised novel approaches aimed at supporting testing and energy optimization of mobile apps (two key challenges in evolution and maintenance of android apps). First, we propose a novel hybrid approach for automatic GUI-based testing of apps that is able to generate (un)natural test sequences by mining real applications usages and learning statistical models that represent the GUI interactions. In addition, we propose a multi-objective approach for optimizing the energy consumption of GUIs in android apps that is able to generate visually appealing color compositions, while reducing the energy consumption and keeping a design concept close to the original
Distributed tuning of boundary resources: the case of Apple's iOS service system
The digital age has seen the rise of service systems involving highly distributed, heterogeneous, and resource-integrating actors whose relationships are governed by shared institutional logics, standards, and digital technology. The cocreation of service within these service systems takes place in the context of a paradoxical tension between the logic of generative and democratic innovations and the logic of infrastructural control. Boundary resources play a critical role in managing the tension as a firm that owns the infrastructure can secure its control over the service system while independent firms can participate in the service system. In this study, we explore the evolution of boundary resources. Drawing on Pickering’s (1993) and Barrett et al.’s (2012) conceptualizations of tuning, the paper seeks to forward our understanding of how heterogeneous actors engage in the tuning of boundary resources within Apple’s iOS service system. We conduct an embedded case study of Apple’s iOS service system with an in-depth analysis of 4,664 blog articles concerned with 30 boundary resources covering 6 distinct themes. Our analysis reveals that boundary resources of service systems enabled by digital technology are shaped and reshaped through distributed tuning, which involves cascading actions of accommodations and rejections of a network of heterogeneous actors and artifacts. Our study also shows the dualistic role of power in the distributed tuning process
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mobile App Testing
Mobile app development involves a unique set of challenges including device
fragmentation and rapidly evolving platforms, making testing a difficult task.
The design space for a comprehensive mobile testing strategy includes features,
inputs, potential contextual app states, and large combinations of devices and
underlying platforms. Therefore, automated testing is an essential activity of
the development process. However, current state of the art of automated testing
tools for mobile apps poses limitations that has driven a preference for manual
testing in practice. As of today, there is no comprehensive automated solution
for mobile testing that overcomes fundamental issues such as automated oracles,
history awareness in test cases, or automated evolution of test cases.
In this perspective paper we survey the current state of the art in terms of
the frameworks, tools, and services available to developers to aid in mobile
testing, highlighting present shortcomings. Next, we provide commentary on
current key challenges that restrict the possibility of a comprehensive,
effective, and practical automated testing solution. Finally, we offer our
vision of a comprehensive mobile app testing framework, complete with research
agenda, that is succinctly summarized along three principles: Continuous,
Evolutionary and Large-scale (CEL).Comment: 12 pages, accepted to the Proceedings of 33rd IEEE International
Conference on Software Maintenance and Evolution (ICSME'17
Recommended from our members
The effects of individual differences on mobile phone users’ operational behaviour
This thesis was submitted for the degree of Doctor of Philosophy and awarded by Brunel University.Mobile handset technology has improved greatly in recent decades. Improvements in hardware and software conduce the importance of the handset as a computer. Whilst the mobile phone industry and researchers emphasise understanding users from sociological aspects, such as services, usage habits, functionalities and so forth; this research aims to seek the variables that impact upon users’ interactions with the phone from the root-individual differences.
For the purpose of placing mobile phone users at the core of the interface design process, the individual differences of gender, cognitive style and user experience were applied as the main variables in this research. Accordingly, to examine individuals’ differences and their operational behaviour with phone interfaces, the effects of cognitive style and user experience present stronger impact on the user performance than gender. The two factors were then investigated with regard to individuals’ operational behaviour with phone interfaces.
This research then developed categories to link the theoretical attributes of cognitive style and phone users’ practical operational behaviour. Furthermore, the impact of cognitive style on the users’ operational behaviour was also connected to individuals’ problem solving ability. Meanwhile, the effect of user experience was investigated with a novel methodology-Taxonomy of Experience. The results revealed necessary elements that the users cared about the most, and these differed from the interface design guidelines of phone industry.
This PhD thesis presents the application of the triangulation method to explore the variables that impact upon individuals’ interaction with mobile phone interfaces, specially concerned with mobile phone interface design from a psychological perspective, and provides a deeper understanding of users for future design events. More importantly, this research delivered the concept of understanding users before conducting design
Test Cases Evolution of Mobile Applications: Model Driven Approach
AELOS_HCERES2020 , NAOMOD_HCERES2020Mobile Applications Developers, with large freedom given to them, focus on satisfying market requirements and on pleasing consumer’s desires. They are forced to be creative and productive in a short period of time. As a result, billions of powerful mobile applications are displayed every day. Therefore, every mobile application needs to continually change and make an incremental evolution in order to survive and preserve its ranking among the top applications in the market. Mobile apps Testers hold a heavy responsibility on their shoulders, the intrinsic nature of agile swift change of mobile apps pushes them to be meticulous, to be aware that things can be different at any time, and to be prepared for unpredicted crashes. Therefore, starting the generation or the creation of test cases from scratch and selecting each time the overridden or the overloaded test cases is a tedious operation. In software testing the time allocated for testing and correcting defects is important for every software development (regularly half the time). This time can be reduced by the introduction of tools and the adoption of new testing methods. In the field of mobile development, new concerns should be taken into account; among the most important ones are the heterogeneity of execution environments and the fragmentation of terminals which have different impacts on the functionality, performance, and connectivity. This project studies the evolution of mobile applications and its impact on the evolution of test cases from their creation until their expiration stage. A detailed case study of a native open source Android application is provided; describing many aspects of design, development, testing in addition to the analysis of the process of mobile apps evolution. This project based on model driven engineering approach where the models are serialized using the standard XMI. It presents a protocol for the adaptation of test cases under certain restrictions
FraudDroid: Automated Ad Fraud Detection for Android Apps
Although mobile ad frauds have been widespread, state-of-the-art approaches
in the literature have mainly focused on detecting the so-called static
placement frauds, where only a single UI state is involved and can be
identified based on static information such as the size or location of ad
views. Other types of fraud exist that involve multiple UI states and are
performed dynamically while users interact with the app. Such dynamic
interaction frauds, although now widely spread in apps, have not yet been
explored nor addressed in the literature. In this work, we investigate a wide
range of mobile ad frauds to provide a comprehensive taxonomy to the research
community. We then propose, FraudDroid, a novel hybrid approach to detect ad
frauds in mobile Android apps. FraudDroid analyses apps dynamically to build UI
state transition graphs and collects their associated runtime network traffics,
which are then leveraged to check against a set of heuristic-based rules for
identifying ad fraudulent behaviours. We show empirically that FraudDroid
detects ad frauds with a high precision (93%) and recall (92%). Experimental
results further show that FraudDroid is capable of detecting ad frauds across
the spectrum of fraud types. By analysing 12,000 ad-supported Android apps,
FraudDroid identified 335 cases of fraud associated with 20 ad networks that
are further confirmed to be true positive results and are shared with our
fellow researchers to promote advanced ad fraud detectionComment: 12 pages, 10 figure
The dynamics of digital platform innovation: unfolding the paradox of control and generativity in Apple's iOS
Mobile digital platforms provide an architectural basis for third party innovation of platform complements. Platform owners have property rights, enabling them to establish a boundary of permissible innovation demarcating the permitted from the prohibited. This allows for the curation of complements, which provides a means of controlling for value creation. Consequently, platform innovationthe innovation of platform complements is occasionally refused by platform owners. When this occurs tensions may arise between the two parties over where the boundary of permissible innovation should lie. Tussles may break out, embodied in complex interactions, as each party attempts to get its way. Eventually an outcome is achieved, and a platform innovation is either allowed or prohibited.
A body of platform innovation literature is emerging from fields including information systems. Whilst this literature considers many aspects of platform innovation, the dynamics concerning the control of the innovation of platform innovation complements is overlooked. This research attempts to address that gap. Its relevance to information systems concerns the digitalisation of platforms as systemsdigital infrastructures, which affects their capacity for innovation and regulation.
This research uses the method of narrative networks to analyse 45 examples of contested platform innovation. This approach, informed by empirical data sourced from over 4500 blog entries, identifies patterned sequences of actions across the examples. These sequences describe how tension builds, how control is asserted, and how control is then resisted. A theory of formal managerial control is used to explain how mechanisms of control are applied by platform owners as well as how developers respond to control.
The principle contribution of this research is to theory. It develops and presents a theory to describe and explain the dynamics of contested innovation of complements on curated digital platforms. In doing so, iIt challenges the understanding that the platform owner alone controls platform design rules and concerning which platform complements are allowed, and which are notthe boundary of permissible innovation. Furthermore, tThe study indicates opens up the possibility that the forces of digitalisation provide third parties with the power to affect influence platform architecture, but at the cost of additional means of being controlled
- …