Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering 2014
DOI: 10.1145/2635868.2635903
|View full text |Cite
|
Sign up to set email alerts
|

Retrofitting concurrency for Android applications through refactoring

Abstract: Running compute-intensive or blocking I/O operations in the UI event thread of smartphone apps can severely degrade responsiveness. Despite the fact that Android supports writing concurrent code via AsyncTask, we know little about how developers use AsyncTask to improve responsiveness. To understand how AsyncTask is used/underused/misused in practice, we first conduct a formative study using a corpus of 104 open-source Android apps comprising 1.34M SLOC. Our study shows that even though half of the apps use As… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
46
0

Year Published

2014
2014
2022
2022

Publication Types

Select...
4
3
2

Relationship

1
8

Authors

Journals

citations
Cited by 71 publications
(47 citation statements)
references
References 48 publications
(34 reference statements)
1
46
0
Order By: Relevance
“…Asynchronizer uses a points-to static analysis to determine the safety of the transformation. The empirical evaluation presented in our paper [11] shows that Asynchronizer is useful.…”
Section: Refactoring For Asynchrony In Android [11]mentioning
confidence: 81%
See 1 more Smart Citation
“…Asynchronizer uses a points-to static analysis to determine the safety of the transformation. The empirical evaluation presented in our paper [11] shows that Asynchronizer is useful.…”
Section: Refactoring For Asynchrony In Android [11]mentioning
confidence: 81%
“…In our formative studies [11,13], we found that half of all asynchrony usages in real-world programs have not been introduced from scratch, but have been converted from previously existing synchronous code. This step is a source-to-source transformation that needs to preserve the current functionality of the application (albeit improve some non-functional property such as responsiveness), thus it is a refactoring [6].…”
Section: Introductionmentioning
confidence: 99%
“…Other static analyses also model the sequences of callbacks in Android, for the purposes of race detection �e.g., [24]), leak analysis �e.g., [18]), and static checking �e.g., [37,50]); all these approaches employ ad hoc control-flow modeling that lacks generality.…”
Section: Related Workmentioning
confidence: 99%
“…However, due to the cost of the analysis that was performed, it examines a small number of systems. Lin et al (2014) had analyzed 104 open-source Android applications in order to understand how AsyncTask (a high-level concurrent construct) is used by programmers, if it is misused and underused. Marinescu (2014) also analyzed SourceForge, but she focuses on MPI (Message Passing Interface), a concurrent programming construct used in the C programming language.…”
Section: Studies Targeting Concurrent Softwarementioning
confidence: 99%