• DocumentCode
    3609366
  • Title

    Refactoring for Asynchronous Execution on Mobile Devices

  • Author

    Dig, Danny

  • Author_Institution
    Oregon State Univ., Corvallis, OR, USA
  • Volume
    32
  • Issue
    6
  • fYear
    2015
  • Firstpage
    52
  • Lastpage
    61
  • Abstract
    To improve responsiveness, developers often use asynchronous programming. In the post-PC era, asynchronous programming is even more in demand because mobile and wearable devices have limited resources and access the network excessively. One current development task is refactoring long-running, blocking synchronous code (for example, accessing the Web, a cloud, a database, or a file system) into nonblocking asynchronous code. This article describes the refactorings that improve responsiveness, along with the obstacles of using asynchrony. It also discusses the challenges of retrofitting asynchrony and presents program analyses and transformations and a growing, practical toolset and resources for retrofitting asynchrony. This article is part of a special issue on Refactoring.
  • Keywords
    mobile computing; wearable computers; Web access; asynchronous execution refactoring; asynchronous programming; mobile devices; nonblocking asynchronous code; post-PC era; program analyses; retrofitting asynchrony; synchronous code blocking; wearable devices; Androids; Code refractoring; Graphical user interfaces; Humanoid robots; Mobile communication; Programming profession; Reactive power; AsyncDroid; AsyncFixer; Asynchronizer; Asyncifier; asynchronous programming; program analysis and transformation; refactoring; software development; software engineering;
  • fLanguage
    English
  • Journal_Title
    Software, IEEE
  • Publisher
    ieee
  • ISSN
    0740-7459
  • Type

    jour

  • DOI
    10.1109/MS.2015.133
  • Filename
    7310985