Technical Report
 

Study and Refactoring of Android Asynchronous Programming

公开 Deposited

可下载的内容

下载PDF文件
https://ir.library.oregonstate.edu/concern/technical_reports/n870zs218

Descriptions

Attribute NameValues
Creator
Abstract
  • To avoid unresponsiveness, a core part of mobile development is asynchronous programming. Android provides several async constructs that developers can use. However, developers can still use the inappropriate async constructs, which result in memory leaks, lost results, and wasted energy. Fortunately, refactoring tools can eliminate these problems by transforming async code to use the appropriate constructs. In this paper we conducted a formative study on a corpus of 611 widely-used Android apps to map the asynchronous landscape of Android apps, understand how developers retrofit asynchrony, and learn about barriers encountered by developers. Based on this study, we designed, implemented, and evaluated ASYNCDROID, a refactoring tool which enables Android developers to transform existing improperly-used async constructs into correct constructs. Our empirical evaluation shows that ASYNCDROID is applicable, accurate, and saves developers effort. We submitted 30 refactoring patches, and developers consider that the refactorings are useful.
  • Keywords: Android, responsiveness, asynchronous programming, asynchrony, refactoring
  • Keywords: Android, responsiveness, asynchronous programming, asynchrony, refactoring
Resource Type
Date Available
Date Issued
Subject
权利声明
Funding Statement (additional comments about funding)
  • NSF CCF-1439957 and CCF-1442157 grants, a SEIF award from Microsoft, and a gift grant from Intel.
Publisher
Peer Reviewed
Language
Replaces

关联

Parents:

This work has no parents.

单件