446 research outputs found

    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

    The cgml: a xml language for mobile cartography

    Get PDF
    Increasing processing power and storage capabilities encourage systematic adoption of high-end mobile devices, such as programmable cellular phones and wireless-enabled PDA to implement new exciting applications. The performances of modern mobile devices are bringing innovative scenarios, based on position awareness and ambient intelligence paradigms. The market is moving from old 'Wireless Applications' approach to Mobile Computing, which aims to exploit mobile host capabilities. This paper presents the compact Geographic Markup Language (cGML), an XML-based language defined to enable design and development of LBS applications specific for mobile devices, and an example of client-server architecture using it

    Survey on virtual coaching for older adults

    Get PDF
    Virtual coaching has emerged as a promising solution to extend independent living for older adults. A virtual coach system is an always-attentive personalized system that continuously monitors user's activity and surroundings and delivers interventions - that is, intentional messages - in the appropriate moment. This article presents a survey of different approaches in virtual coaching for older adults, from the less technically supported tools to the latest developments and future avenues for research. It focuses on the technical aspects, especially on software architectures, user interaction and coaching personalization. Nevertheless, some aspects from the fields of personality/social psychology are also presented in the context of coaching strategies. Coaching is considered holistically, including matters such as physical and cognitive training, nutrition, social interaction and mood.The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No. 769830

    Addressing the data bottleneck in medical deep learning models using a human-in-the-loop machine learning approach

    Get PDF
    [Abstract]: Any machine learning (ML) model is highly dependent on the data it uses for learning, and this is even more important in the case of deep learning models. The problem is a data bottleneck, i.e. the difficulty in obtaining an adequate number of cases and quality data. Another issue is improving the learning process, which can be done by actively introducing experts into the learning loop, in what is known as human-in-the-loop (HITL) ML. We describe an ML model based on a neural network in which HITL techniques were used to resolve the data bottleneck problem for the treatment of pancreatic cancer. We first augmented the dataset using synthetic cases created by a generative adversarial network. We then launched an active learning (AL) process involving human experts as oracles to label both new cases and cases by the network found to be suspect. This AL process was carried out simultaneously with an interactive ML process in which feedback was obtained from humans in order to develop better synthetic cases for each iteration of training. We discuss the challenges involved in including humans in the learning process, especially in relation to human–computer interaction, which is acquiring great importance in building ML models and can condition the success of a HITL approach. This paper also discusses the methodological approach adopted to address these challenges.This work has been supported by the State Research Agency of the Spanish Government (Grant PID2019-107194GB-I00/AEI/10.13039/501100011033) and by the Xunta de Galicia (Grant ED431C 2022/44), supported in turn by the EU European Regional Development Fund. We wish to acknowledge support received from the Centro de Investigación de Galicia CITIC, funded by the Xunta de Galicia and the European Regional Development Fund (Galicia 2014–2020 Program; Grant ED431G 2019/01).Xunta de Galicia; ED431C 2022/44Xunta de Galicia; ED431G 2019/0

    Situating approaches to interactive museum guides

    Get PDF
    This paper examines the current state of museum guide technologies and applications in order to develop an analytical foundation for future research on an adaptive museum guide for families. The analysis focuses on three critical areas of interest in considering group and social interaction in museums: tangibility the role of tangible user interfaces; interaction visit types and visit flows; and adaptivity user modeling approaches. It concludes with a discussion of four interrelated trajectories for interactive museum guide research including embodied interaction, gameplay, transparent and opaque interaction and the role of personal digital assistants

    Cross-Platform Video Management Solutions

    Get PDF
    With a multitude of platform and operating system combinations available to- day, ranging from laptops and workstations to tablets and smartphones, users want to use their favorite applications regardless of device. Cross-platform development has thus become more important in recent years. When devel- oping a new application the developers must decide what platforms to support and what strategy to use to reach out to them. By developing both native and cross-platform prototypes we try to find advantages and disadvantages of using a cross-platform strategy for video management applications. We show that it indeed is possible to develop cross-platform video management applications for both Windows and OS X and find both advantages and disadvantages of this strategy. The result of this thesis state that the choice of cross-platform or not depends much on the situation and the preferences of the developers

    Supporting Evolution and Maintenance of android Apps

    Get PDF
    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
    corecore