AI Chat Paper
Note: Please note that the following content is generated by AMiner AI. SciOpen does not take any responsibility related to this content.
{{lang === 'zh_CN' ? '文章概述' : 'Summary'}}
{{lang === 'en_US' ? '中' : 'Eng'}}
Chat more with AI
Article Link
Collect
Submit Manuscript
Show Outline
Outline
Show full outline
Hide outline
Outline
Show full outline
Hide outline
Regular Paper

Understanding and Detecting Inefficient Image Displaying Issues in Android Apps

State Key Laboratory of Novel Software Technology, Nanjing University, Nanjing 210023, China
Department of Computer Science and Technology, Nanjing University, Nanjing 210023, China
Show Author Information

Abstract

Mobile applications (apps for short) often need to display images. However, inefficient image displaying (IID) issues are pervasive in mobile apps, and can severely impact app performance and user experience. This paper first establishes a descriptive framework for the image displaying procedures of IID issues. Based on the descriptive framework, we conduct an empirical study of 216 real-world IID issues collected from 243 popular open-source Android apps to validate the presence and severity of IID issues, and then shed light on these issues’ characteristics to support research on effective issue detection. With the findings of this study, we propose a static IID issue detection tool TAPIR and evaluate it with 243 real-world Android apps. Encouragingly, 49 and 64 previously-unknown IID issues in two different versions of 16 apps reported by TAPIR are manually confirmed as true positives, respectively, and 16 previously-unknown IID issues reported by TAPIR have been confirmed by developers and 13 have been fixed. Then, we further evaluate the performance impact of these detected IID issues and the performance improvement if they are fixed. The results demonstrate that the IID issues detected by TAPIR indeed cause significant performance degradation, which further show the effectiveness and efficiency of TAPIR.

Electronic Supplementary Material

Download File(s)
JCST-2106-11670-Highlights.pdf (759.1 KB)

References

[1]
Zhao Y X, Laser M S, Lyu Y J, Medvidovic N. Leveraging program analysis to reduce user-perceived latency in mobile applications. In Proc. the 40th International Conference on Software Engineering, May 27–Jun. 3, 2018, pp.176–186. DOI: 10.1145/3180155.3180249.
[2]
Liu Y P, Xu C, Cheung S C. Characterizing and detecting performance bugs for smartphone applications. In Proc. the 36th Int. Conf. Software Engineering, May 31–Jun. 7, 2014, pp.1013–1024. DOI: 10.1145/2568225.2568229.
[3]
Carette A, Younes M A A, Hecht G, Moha N, Rouvoy R. Investigating the energy impact of Android smells. In Proc. the 24th IEEE International Conference on Software Analysis, Evolution and Reengineering, Feb. 2017, pp.115–126. DOI: 10.1109/SANER.2017.7884614.
[4]
Wang Y, Rountev A. Profiling the responsiveness of Android applications via automated resource amplification. In Proc. the 2016 International Conference on Mobile Software Engineering and Systems, May 2016, pp.48–58. DOI: 10.1145/2897073.2897097.
[5]
Linares-Vásquez M, Vendome C, Luo Q, Poshyvanyk D. How developers detect and fix performance bottlenecks in Android apps. In Proc. the 2015 IEEE Int. Conf. Software Maintenance and Evolution, Sept. 29–Oct. 1, 2015, pp.352–361. DOI: 10.1109/ICSM.2015.7332486.
[6]

Liu Y P, Xu C, Cheung S C. Diagnosing energy efficiency and performance for mobile internetware applications. IEEE Software, 2015, 32(1): 67–75. DOI: 10.1109/MS.2015.4.

[7]
Kwon Y, Lee S, Yi H, Kwon D, Yang S, Chun B G, Huang L, Maniatis P, Naik M, Paek Y. Mantis: Automatic performance prediction for smartphone applications. In Proc. the 2013 USENIX Conference on Annual Technical Conference, Jun. 2013, pp.297–308.
[8]
Gao Y, Luo Y, Chen D Q, Huang H C, Dong W Y, Xia M Y, Liu X, Bu J J. Every pixel counts: Fine-grained UI rendering analysis for mobile applications. In Proc. the 2017 IEEE Conference on Computer Communications, May 2017. DOI: 10.1109/INFOCOM.2017.8057023.
[9]
Li W J, Jiang Y Y, Xu C, Liu Y P, Ma X X, Lyu J. Characterizing and detecting inefficient image displaying issues in Android apps. In Proc. the 26th IEEE International Conference on Software Analysis, Evolution and Reengineering, Feb. 2019, pp.355–365. DOI: 10.1109/SANER.2019.8668030.
[10]

Agrawal H, Horgan J R. Dynamic program slicing. ACM SIGPLAN Notices, 1990, 25(6): 246–256. DOI: 10.1145/93548.93576.

[11]
Liu Y P, Xu C, Cheung S C, Terragni V. Understanding and detecting wake lock misuses for Android applications. In Proc. the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Nov. 2016, pp.396–409. DOI: 10.1145/2950290.2950297.
[12]
Hu J J, Wei L L, Liu Y P, Cheung S C, Huang H X. A tale of two cities: How WebView induces bugs to Android applications. In Proc. the 33rd ACM/IEEE International Conference on Automated Software Engineering, Sept. 2018, pp.702–713. DOI: 10.1145/3238147.3238180.
[13]
Rath M, Rendall J, Guo J L C, Cleland-Huang J, Mäder P. Traceability in the wild: Automatically augmenting incomplete trace links. In Proc. the 40th International Conference on Software Engineering, May 27–Jun. 3 2018, pp.834–845. DOI: 10.1145/3180155.3180207.
[14]

Wu T Y, Liu J R, Xu Z B, Guo C R, Zhang Y L, Yan J, Zhang J. Light-weight, inter-procedural and callback-aware resource leak detection for Android apps. IEEE Trans. Software Engineering, 2016, 42(11): 1054–1076. DOI: 10.1109/TSE.2016.2547385.

[15]
Xu G Q, Rountev A. Precise memory leak detection for Java software using container profiling. In Proc. the 30th International Conference on Software Engineering, May 2008, pp.151–160. DOI: 10.1145/1368088.1368110.
[16]
Yan D C, Xu G Q, Yang S Q, Rountev A. LeakChecker: Practical static memory leak detection for managed languages. In Proc. the 2014 Annual IEEE/ACM International Symposium on Code Generation and Optimization, Feb. 2014, pp.87–97. DOI: 10.1145/2544137.2544151.
[17]
Song W, Han M Q, Huang J. IMGDroid: Detecting image loading defects in Android applications. In Proc. the 43rd IEEE/ACM Int. Conf. Software Engineering, May 2021, pp.823–834. DOI: 10.1109/ICSE43902.2021.00080.
[18]
Jensen C S, Prasad M R, Møller A. Automated testing with targeted event sequence generation. In Proc. the 2013 Inter. Symp. Software Testing and Analysis, Jul. 2013, pp.67–77. DOI: 10.1145/2483760.2483777.
[19]
Huang J X, Xu Q, Tiwana B, Mao Z M, Zhang M, Bahl P. Anatomizing application performance differences on smartphones. In Proc. the 8th International Conference on Mobile Systems, Applications, and Services, Jun. 2010, pp.165–178. DOI: 10.1145/1814433.1814452.
[20]
Nejati J, Balasubramanian A. An in-depth study of mobile browser performance. In Proc. the 25th International Conference on World Wide Web, Apr. 2016, pp.1305–1315. DOI: 10.1145/2872427.2883014.
[21]

Huang G, Xu M W, Lin F X, Liu Y X, Ma Y, Pushp S, Liu X Z. ShuffleDog: Characterizing and adapting user-perceived latency of Android apps. IEEE Trans. Mobile Computing, 2017, 16(10): 2913–2926. DOI: 10.1109/TMC.2017.2651823.

[22]
Rosen S, Han B, Hao S, Mao Z M, Qian F. Push or request: An investigation of HTTP/2 server push for improving mobile performance. In Proc. the 26th International Conference on World Wide Web, Apr. 2017, pp.459–468. DOI: 10.1145/3038912.3052574.
[23]
Qian F, Wang Z G, Gerber A, Mao Z Q, Sen S, Spatscheck O. Profiling resource usage for mobile applications: A cross-layer approach. In Proc. the 9th International Conference on Mobile Systems, Applications, and Services, Jun. 28–Jul. 1, 2011, pp.321–334. DOI: 10.1145/1999995.2000026.
[24]
Ravindranath L, Padhye J, Agarwal S, Mahajan R, Obermiller I, Shayandeh S. AppInsight: Mobile app performance monitoring in the wild. In Proc. the 10th USENIX Conference on Operating Systems Design and Implementation, Oct. 2012, pp.107–120. DOI: 10.5555/2387880.2387891.
[25]
Zhang L D, Bild D R, Dick R P, Mao Z M, Dinda P. Panappticon: Event-based tracing to measure mobile application and platform performance. In Proc. the 2013 International Conference on Hardware/Software Codesign and System Synthesis, Sept. 29–Oct. 4, 2013, pp.1–10. DOI: 10.1109/CODES-ISSS.2013.6659020.
[26]
Nistor A, Ravindranath L. SunCat: Helping developers understand and predict performance problems in smartphone applications. In Proc. the 2014 International Symposium on Software Testing and Analysis, Jul. 2014, pp.282–292. DOI: 10.1145/2610384.2610410.
[27]
Lin Y, RadoiC, Dig D. Retrofitting concurrency for Android applications through refactoring. In Proc. the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, Nov. 2014, pp.341–352. DOI: 10.1145/2635868.2635903.
[28]
Kang Y, Zhou Y F, Xu H, Lyu M R. DiagDroid: Android performance diagnosis via anatomizing asynchronous executions. In Proc. the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Nov. 2016, pp.410–421. DOI: 10.1145/2950290.2950316.
[29]
Lee K, Chu D, Cuervo E, Kopf J, Degtyarev Y, Grizan S, Wolman A, Flinn J. Outatime: Using speculation to enable low-latency continuous interaction for mobile cloud gaming. In Proc. the 13th Annual International Conference on Mobile Systems, Applications, and Services, May 2015, pp.151–165. DOI: 10.1145/2742647.2742656.
[30]
Lyu Y J, Li D, Halfond W G J. Remove RATs from your code: Automated optimization of resource inefficient database writes for mobile applications. In Proc. the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis, Jul. 2018, pp.310–321. DOI: 10.1145/3213846.3213865.
[31]
Nguyen D T, Zhou G, Xing G L, Qi X, Hao Z J, Peng G, Yang Q. Reducing smartphone application delay through read/write isolation. In Proc. the 13th Annual Int. Conf. Mobile Systems, Applications, and Services, May 2015, pp.287–300. DOI: 10.1145/2742647.2742661.
Journal of Computer Science and Technology
Pages 434-459
Cite this article:
Li W-J, Ma J, Jiang Y-Y, et al. Understanding and Detecting Inefficient Image Displaying Issues in Android Apps. Journal of Computer Science and Technology, 2024, 39(2): 434-459. https://doi.org/10.1007/s11390-022-1670-3

233

Views

0

Crossref

0

Web of Science

0

Scopus

0

CSCD

Altmetrics

Received: 01 June 2021
Accepted: 05 June 2022
Published: 30 March 2024
© Institute of Computing Technology, Chinese Academy of Sciences 2024
Return