دانلود مقاله ISI انگلیسی شماره 155468
ترجمه فارسی عنوان مقاله

چگونه توسعه دهندگان میکرو بهینه سازی برنامه های آندروید

عنوان انگلیسی
How developers micro-optimize Android apps
کد مقاله سال انتشار تعداد صفحات مقاله انگلیسی
155468 2017 73 صفحه PDF
منبع

Publisher : Elsevier - Science Direct (الزویر - ساینس دایرکت)

Journal : Journal of Systems and Software, Volume 130, August 2017, Pages 1-23

ترجمه کلمات کلیدی
بهینه سازی مخازن نرم افزار معدن، مطالعات تجربی، اندروید، اندازه گیری،
کلمات کلیدی انگلیسی
Optimizations; Mining software repositories; Empirical studies; Android; Measurement;
پیش نمایش مقاله
پیش نمایش مقاله  چگونه توسعه دهندگان میکرو بهینه سازی برنامه های آندروید

چکیده انگلیسی

Optimizing mobile apps early on in the development cycle is supposed to be a key strategy for obtaining higher user rankings, more downloads, and higher retention. In fact, mobile platform designers publish specific guidelines, and tools aimed at optimizing apps. However, little research has been done with respect to identifying and understanding actual optimization practices performed by developers. In this paper, we present the results of three empirical studies aimed at investigating practices of Android developers towards improving the performance of their apps, by means of micro-optimizations. We mined change histories of 3513 apps to identify the most frequent micro-optimization opportunities in 297K+ snapshots and to understand if (and when) developers implement these optimizations. Then, we performed an in-depth analysis into whether implementing micro-optimizations can help reduce memory/CPU usage. Finally, we conducted a survey with 389 open-source developers to understand how they use micro-optimizations to improve the performance of Android apps. Surprisingly, our results indicate that developers rarely implement micro-optimizations. Also, the impact of the analyzed micro-optimization on CPU/memory consumption is negligible in most of the cases. Finally, the results from the survey shed some light into why this happens as well as upon which practices developers rely upon.