Refactoring for Asynchronous Execution on Mobile

Danny Dig · IEEE Software · 2015

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.

Read the paper · More papers on PaperTik