Please wait a minute...
Frontiers of Computer Science

ISSN 2095-2228

ISSN 2095-2236(Online)

CN 10-1014/TP

Postal Subscription Code 80-970

2018 Impact Factor: 1.129

Front. Comput. Sci.    2019, Vol. 13 Issue (6) : 1210-1227    https://doi.org/10.1007/s11704-018-7008-1
REVIEW ARTICLE
Analyses for specific defects in Android applications: a survey
Tianyong WU1,2, Xi DENG1,2,3(), Jun YAN1,2,3(), Jian ZHANG1,2
1. State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing 100190, China
2. University of Chinese Academy of Sciences, Beijing 100049, China
3. Technology Center of Software Engineering, Institute of Software, Chinese Academy of Sciences, Beijing 100190, China
 Download: PDF(425 KB)  
 Export: BibTeX | EndNote | Reference Manager | ProCite | RefWorks
Abstract

Android applications (APPS) are in widespread use and have enriched our life. To ensure the quality and security of the apps, many approaches have been proposed in recent years for detecting bugs and defects in the apps, of which program analysis is a major one. This paper mainly makes an investigation of existing works on the analysis of Android apps. We summarize the purposes and proposed techniques of existing approaches, and make a taxonomy of these works, based on which we point out the trends and challenges of research in this field. From our survey, we sum up four main findings: (1) program analysis in Android security field has gained particular attention in the past years, the fields of functionality and performance should also gain proper attention; the infrastructure that supports detection of various defects should be enriched to meet the industry’s need; (2) many kinds of defects result from developers’ misunderstanding or misuse of the characteristics and mechanisms in Android system, thus the works that can systematically collect and formalize Android recommendations are in demand; (3) various program analysis approaches with techniques in other fields are applied in analyzing Android apps; however, they can be improved with more precise techniques to be more applicable; (4) The fragmentation and evolution of Android system blocks the usability of existing tools, which should be taken into consideration when developing new approaches.

Keywords Android apps      program analysis      security      functionality      performance     
Corresponding Author(s): Xi DENG,Jun YAN   
Just Accepted Date: 28 May 2018   Online First Date: 30 January 2019    Issue Date: 19 July 2019
 Cite this article:   
Tianyong WU,Xi DENG,Jun YAN, et al. Analyses for specific defects in Android applications: a survey[J]. Front. Comput. Sci., 2019, 13(6): 1210-1227.
 URL:  
https://academic.hep.com.cn/fcs/EN/10.1007/s11704-018-7008-1
https://academic.hep.com.cn/fcs/EN/Y2019/V13/I6/1210
1 Y Zhou, X Jiang. Dissecting Android malware: characterization and evolution. In: Proceedings of the 2012 IEEE Symposium on Security and Privacy. 2012, 95–109
https://doi.org/10.1109/SP.2012.16
2 T McDonnell, B Ray, M Kim. An empirical study of API stability and adoption in the Android ecosystem. In: Proceedings of the 2013 IEEE International Conference on Software Maintenance. 2013, 70–79
https://doi.org/10.1109/ICSM.2013.18
3 N Mirzaei, H Bagheri, R Mahmood, S Malek. SIG-Droid: automated system input generation for Android applications. In: Proceedings of the 26th IEEE International Symposium on Software Reliability Engineering. 2015, 461–471
https://doi.org/10.1109/ISSRE.2015.7381839
4 J Kim, Y Yoon, K Yi, J Shin. SCANDAL: static analyzer for detecting privacy leaks in Android applications. Mobile Security Technologies, 2012, 12: 110
5 S Arzt, S Rasthofer, C Fritz, E Bodden, A Bartel, J Klein, Y L Traon, D Octeau, P McDaniel. FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps. In: Proceedings of the 2014 ACM SIGPLAN Conference on Programming Language Design and Implementation. 2014, 259–269
https://doi.org/10.1145/2666356.2594299
6 X Jin, X Hu, K Ying, W Du, H Yin, G N Peri. Code injection attacks on HTML5-based mobile apps: characterization, detection and mitigation. In: Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security. 2014, 66–77
https://doi.org/10.1145/2660267.2660275
7 W Enck, P Gilbert, B Chun, L P Cox, J Jung, P McDaniel, A Sheth. TaintDroid: an information-flow tracking system for realtime privacy monitoring on smartphones. In: Proceedings of the 9th USENIX Symposium on Operating Systems Design and Implementation. 2010, 393–407
8 D Li, S Hao, W G J Halfond, R Govindan. Calculating source line level energy information for Android applications. In: Proceedings of the 2013 International Symposium on Software Testing and Analysis. 2013, 78–89
https://doi.org/10.1145/2483760.2483780
9 G H Xu, N Mitchell, M Arnold, A Rountev, E Schonberg, G Sevitsky. Scalable runtime bloat detection using abstract dynamic slicing. ACM Transactions on Software Engineering Methodology, 2014, 23(3): 23
https://doi.org/10.1145/2560047
10 T Azim, I Neamtiu. Targeted and depth-first exploration for systematic testing of Android apps. In: Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming, Systems, Languages, and Applications. 2013, 641–660
https://doi.org/10.1145/2509136.2509549
11 N Mirzaei, J Garcia, H Bagheri, A Sadeghi, S Malek. Reducing combinatorics in GUI testing of Android applications. In: Proceedings of the 38th International Conference on Software Engineering. 2016, 559–570
https://doi.org/10.1145/2884781.2884853
12 D Octeau, S Jha, P McDaniel. Retargeting Android applications to Java bytecode. In: Proceedings of the 20th ACM SIGSOFT Symposium on the Foundations of Software Engineering. 2012, 6
https://doi.org/10.1145/2393596.2393600
13 S Yang, H Zhang, H Wu, Y Wang, D Yan, A Rountev. Static window transition graphs for Android. In: Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering. 2015, 658–668
https://doi.org/10.1109/ASE.2015.76
14 S Yang, D Yan, H Wu, Y Wang, A Rountev. Static control-flow analysis of user-driven callbacks in Android applications. In: Proceedings of the 37th IEEE/ACM International Conference on Software Engineering. 2015, 89–99
https://doi.org/10.1109/ICSE.2015.31
15 Y Cao, Y Fratantonio, A Bianchi, M Egele, C Kruegel, G Vigna, Y Chen. EdgeMiner: automatically detecting implicit control flow transitions through the Android framework. In: Proceedings of the 22nd Annual Network and Distributed System Security Symposium. 2015
https://doi.org/10.14722/ndss.2015.23140
16 D Octeau, P McDaniel, S Jha, A Bartel, E Bodden, J Klein, Y L Traon. Effective inter-component communication mapping in Android: an essential step towards holistic security analysis. In: Proceedings of the 22nd USENIX Security Symposium. 2013, 543–558
17 D Octeau, D Luchaup, M Dering, S Jha, P McDaniel. Composite constant propagation: application to Android inter-component communication analysis. In: Proceedings of the 37th IEEE/ACM International Conference on Software Engineering. 2015, 77–88
https://doi.org/10.1109/ICSE.2015.30
18 D Octeau, D Luchaup, S Jha, P D McDaniel. Composite constant propagation and its application to android program analysis. IEEE Transactions on Software Engineering, 2016, 42(11): 999–1014
https://doi.org/10.1109/TSE.2016.2550446
19 D Octeau, S Jha, M Dering, P D McDaniel, A Bartel, L Li, J Klein, Y L Traon. Combining static analysis with probabilistic models to enable market-scale Android inter-component analysis. In: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. 2016, 469–484
https://doi.org/10.1145/2837614.2837661
20 X Wei, L Gomez, I Neamtiu, M Faloutsos. ProfileDroid: multi-layer profiling of Android applications. In: Proceedings of the 18th Annual International Conference onMobile Computing and Networking. 2012, 137–148
https://doi.org/10.1145/2348543.2348563
21 Y Fratantonio, A Machiry, A Bianchi, C Kruegel, G Vigna. CLAPP: characterizing loops in Android applications. In: Proceedings of the 10th Joint Meeting on Foundations of Software Engineering. 2015, 687–697
https://doi.org/10.1145/2786805.2786873
22 D Li, Y Lyu, M Wan, W G J Halfond. String analysis for Java and Android applications. In: Proceedings of the 10th Joint Meeting on Foundations of Software Engineering. 2015, 661–672
https://doi.org/10.1145/2786805.2786879
23 J Huang, Z Li, X Xiao, Z Wu, K Lu, X Zhang, G Jiang. SUPOR: precise and scalable sensitive user input detection for Android apps. In: Proceedings of the 24th USENIX Security Symposium. 2015, 977–992
24 Y Nan, M Yang, Z Yang, S Zhou, G Gu, X Wang. UIPicker: userinput privacy identification in mobile applications. In: Proceedings of the 24th USENIX Security Symposium. 2015, 993–1008
25 S Rasthofer, S Arzt, E Bodden. A machine-learning approach for classifying and categorizing Android sources and sinks. In: Proceedings of the 21st Annual Network and Distributed System Security Symposium. 2014
https://doi.org/10.14722/ndss.2014.23039
26 F Wei, S Roy, X Ou, Robby. Amandroid: a precise and general intercomponent data flow analysis framework for security vetting of Android apps. In: Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security. 2014, 1329–1341
27 L Li, A Bartel, T F Bissyandé, J Klein, Y L Traon, S Arzt, S Rasthofer, E Bodden, D Octeau, P McDaniel. IccTA: detecting intercomponent privacy leaks in Android apps. In: Proceedings of the 37th IEEE/ACMInternational Conference on Software Engineering. 2015, 280–291
28 M I Gordon, D Kim, J H Perkins, L Gilham, N Nguyen, M C Rinard. Information flow analysis of Android applications in droidsafe. In: Proceedings of the 22nd Annual Network and Distributed System Security Symposium. 2015
https://doi.org/10.14722/ndss.2015.23089
29 W Huang, Y Dong, A Milanova, J Dolby. Scalable and precise taint analysis for Android. In: Proceedings of the 2015 International Symposium on Software Testing and Analysis. 2015, 106–117
https://doi.org/10.1145/2771783.2771803
30 S Lee, J Dolby, S Ryu. HybriDroid: static analysis framework for Android hybrid applications. In: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering. 2016, 250–261
https://doi.org/10.1145/2970276.2970368
31 P Hornyack, S Han, J Jung, S E Schechter, D Wetherall. These aren’t the droids you’re looking for: retrofitting Android to protect data from imperious applications. In: Proceedings of the 18th ACM Conference on Computer and Communications Security. 2011, 639–652
https://doi.org/10.1145/2046707.2046780
32 Y Zhang, M Yang, B Xu, Z Yang, G Gu, P Ning, X S Wang, B Zang. Vetting undesirable behaviors in Android apps with permissionuse analysis. In: Proceedings of 2013 ACM SIGSAC Conference on Computer and Communications Security. 2013, 611–622
33 L Yan, H Yin. DroidScope: seamlessly reconstructing the OS and dalvik semantic views for dynamic Android malware analysis. In: Proceedings of the 21st USENIX Security Symposium. 2012, 569–584
34 M Sun, T Wei, J Lui. TaintART: a practical multi-level informationflow tracking system for Android runtime. In: Proceedings of 2016 ACM SIGSAC Conference on Computer and Communications Security. 2016, 331–342
https://doi.org/10.1145/2976749.2978343
35 W You, B Liang, W Shi, S Zhu, P Wang, S Xie, X Zhang. Reference hijacking: patching, protecting and analyzing on unmodified and non-rooted Android devices. In: Proceedings of the 38th International Conference on Software Engineering. 2016, 959–970
https://doi.org/10.1145/2884781.2884863
36 Y Feng, S Anand, I Dillig, A Aiken. Apposcopy: semantics-based detection of Android malware through static analysis. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. 2014, 576–587
https://doi.org/10.1145/2635868.2635869
37 V Avdiienko, K Kuznetsov, A Gorla, A Zeller, S Arzt, S Rasthofer, E Bodden. Mining apps for abnormal usage of sensitive data. In: Proceedings of the 37th IEEE/ACM International Conference on Software Engineering. 2015, 426–436
https://doi.org/10.1109/ICSE.2015.61
38 S Wu, P Wang, X Li, Y Zhang. Effective detection of Android malware based on the usage of data flow APIs and machine learning. Information and Software Technology, 2016, 75:17–25
https://doi.org/10.1016/j.infsof.2016.03.004
39 W Yang, X Xiao, B Andow, S Li, T Xie, W Enck. AppContext: differentiating malicious and benign mobile app behaviors using context. In: Proceedings of the 37th IEEE/ACM International Conference on Software Engineering. 2015, 303–313
https://doi.org/10.1109/ICSE.2015.50
40 M Fan, J Liu, X Luo, K Chen, T Chen, Z Tian, X Zhang, Q Zheng, T Liu. Frequent subgraph based familial classification of android malware. In: Proceedings of the IEEE International Symposium on Software Reliability Engineering. 2016, 24–35
https://doi.org/10.1109/ISSRE.2016.14
41 H Xu, Y Zhou, C Gao, Y Kang, M R Lyu. SpyAware: investigating the privacy leakage signatures in app execution traces. In: Proceedings of the 26th IEEE International Symposium on Software Reliability Engineering. 2015, 348–358
https://doi.org/10.1109/ISSRE.2015.7381828
42 J Huang, X Zhang, L Tan, P Wang, B Liang. AsDroid: detecting stealthy behaviors in Android applications by user interface and program behavior contradiction. In: Proceedings of the 36th International Conference on Software Engineering. 2014, 1036–1046
https://doi.org/10.1145/2568225.2568301
43 R Slavin, X Wang, M B Hosseini, J Hester, R Krishnan, J Bhatia, T D Breaux, J Niu. Toward a framework for detecting privacy policy violations in Android application code. In: Proceedings of the 38th International Conference on Software Engineering. 2016, 25–36
https://doi.org/10.1145/2884781.2884855
44 A P Felt, E Chin, S Hanna, D Song, D Wagner. Android permissions demystified. In: Proceedings of the 18th ACM Conference on Computer and Communications Security. 2011, 627–638
https://doi.org/10.1145/2046707.2046779
45 A Bartel, J Klein, M Monperrus, Y L Traon. Static analysis for extracting permission checks of a large scale framework: the challenges and solutions for analyzing Android. IEEE Transactions on Software Engineering, 2014, 40(6): 617–632
https://doi.org/10.1109/TSE.2014.2322867
46 R Pandita, X Xiao, W Yang, W Enck, T Xie. WHYPER: towards automating risk assessment of mobile applications. In: Proceedings of the 22nd USENIX Security Symposium. 2013, 527–542
47 Z Qu, V Rastogi, X Zhang, Y Chen, T Zhu, Z Chen. AutoCog: measuring the description-to-permission fidelity in Android applications. In: Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security. 2014, 1354–1365
https://doi.org/10.1145/2660267.2660287
48 W Xu, F Zhang, S Zhu. Permlyzer: analyzing permission usage in Android applications. In: Proceedings of the 24th IEEE International Symposium on Software Reliability Engineering. 2013, 400–410
https://doi.org/10.1109/ISSRE.2013.6698893
49 A P Felt, H J Wang, A Moshchuk, S Hanna, E Chin. Permission re-delegation: attacks and defenses. In: Proceedings of the 20th USENIX Security Symposium. 2011
50 H Bagheri, A Sadeghi, J Garcia, S Malek. COVERT: compositional analysis of Android inter-app permission leakage. IEEE Transactions on Software Engineering, 2015, 41(9): 866–886
https://doi.org/10.1109/TSE.2015.2419611
51 M C Grace, Y Zhou, Z Wang, X Jiang. Systematic detection of capability leaks in stock Android smartphones. In: Proceedings of the 19th Annual Network and Distributed System Security Symposium. 2012
52 L Lu, Z Li, Z Wu, W Lee, G Jiang. CHEX: statically vetting Android apps for component hijacking vulnerabilities. In: Proceedings of the 2012 ACM Conference on Computer and Communications Security. 2012, 229–240
https://doi.org/10.1145/2382196.2382223
53 M Zhang, H Yin. AppSealer: automatic generation of vulnerabilityspecific patches for preventing component hijacking attacks in Android applications. In: Proceedings of the 21st Annual Network and Distributed System Security Symposium. 2014
https://doi.org/10.14722/ndss.2014.23255
54 Y Shao, J Ott, Y J Jia, Z Qian, Z M Mao. The misuse of Android unix domain sockets and security implications. In: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. 2016, 80–91
https://doi.org/10.1145/2976749.2978297
55 E Chin, A P Felt, K Greenwood, D Wagner. Analyzing interapplication communication in Android. In: Proceedings of the 9th International Conference on Mobile Systems, Applications, and Services. 2011, 239–252
56 R Hay, O Tripp, M Pistoia. Dynamic detection of inter-application communication vulnerabilities in Android. In: Proceedings of the 2015 International Symposium on Software Testing and Analysis. 2015, 118–128
https://doi.org/10.1145/2771783.2771800
57 C Gibler, R Stevens, J Crussell, H Chen, H Zang, H Choi. AdRob: examining the landscape and impact of Android application plagiarism. In: Proceedings of the 11th Annual International Conference on Mobile Systems, Applications, and Services. 2013, 431–444
58 K Chen, P Liu, Y Zhang. Achieving accuracy and scalability simultaneously in detecting application clones on Android markets. In: Proceedings of the 36th International Conference on Software Engineering. 2014, 175–186
https://doi.org/10.1145/2568225.2568286
59 H Wang, Y Guo, Z Ma, X Chen. WuKong: a scalable and accurate two-phase approach to Android app clone detection. In: Proceedings of the 2015 International Symposium on Software Testing and Analysis. 2015, 71–82
https://doi.org/10.1145/2771783.2771795
60 Y Yuan, Y Guo. Boreas: an accurate and scalable token-based approach to code clone detection. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering. 2012, 286–289
https://doi.org/10.1145/2351676.2351725
61 J Gui, S McIlroy, M Nagappan, W G J Halfond. Truth in advertising: the hidden cost of mobile ads for software developers. In: Proceedings of the 37th IEEE/ACM International Conference on Software Engineering. 2015, 100–110
https://doi.org/10.1109/ICSE.2015.32
62 J Crussell, R Stevens, H Chen. Madfraud: investigating ad fraud in Android applications. In: Proceedings of the 12th Annual International Conference on Mobile Systems, Applications, and Services. 2014, 123–134
https://doi.org/10.1145/2594368.2594391
63 S Poeplau, Y Fratantonio, A Bianchi, C Kruegel, G Vigna. Execute this! analyzing unsafe and malicious dynamic code loading in Android applications. In: Proceedings of the 21st Annual Network and Distributed System Security Symposium. 2014
https://doi.org/10.14722/ndss.2014.23328
64 A Machiry, R Tahiliani, M Naik. Dynodroid: an input generation system for Android apps. In: Proceedings of the 9th Joint Meeting on Foundations of Software Engineering. 2013, 224–234
https://doi.org/10.1145/2491411.2491450
65 S Hao, B Liu, S Nath, W G J Halfond, R Govindan. PUMA: programmable UI-automation for large-scale dynamic analysis of mobile apps. In: Proceedings of the 12th Annual International Conference on Mobile Systems, Applications, and Services. 2014, 204–217
https://doi.org/10.1145/2594368.2594390
66 W Choi, G C Necula, K Sen. Guided GUI testing of Android apps with minimal restart and approximate learning. In: Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages and Applications. 2013, 623–640
https://doi.org/10.1145/2509136.2509552
67 S Anand, M Naik, M J Harrold, H Yang. Automated concolic testing of smartphone apps. In: Proceedings of the 20th ACM SIGSOFT Symposium on the Foundations of Software Engineering. 2012, 59
https://doi.org/10.1145/2393596.2393666
68 Y M Baek, D Bae. Automated model-based Android GUI testing using multi-level GUI comparison criteria. In: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering. 2016, 238–249
https://doi.org/10.1145/2970276.2970313
69 C S Pasareanu, W Visser, D H Bushnell, J Geldenhuys, P C Mehlitz, N Rungta. Symbolic pathfinder: integrating symbolic execution with model checking for Java bytecode analysis. Automated Software Engineering, 2013, 20(3): 391–425
https://doi.org/10.1007/s10515-013-0122-2
70 W Visser, C S Pasareanu, S Khurshid. Test input generation with Java PathFinder. In: Proceedings of the ACM/SIGSOFT International Symposium on Software Testing and Analysis. 2004, 97–107
https://doi.org/10.1145/1007512.1007526
71 C S Jensen, M R Prasad, A Møller. Automated testing with targeted event sequence generation. In: Proceedings of the 2013 International Symposium on Software Testing and Analysis. 2013, 67–77
https://doi.org/10.1145/2483760.2483777
72 R Mahmood, N Mirzaei, S Malek. EvoDroid: segmented evolutionary testing of Android apps. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. 2014, 599–609
https://doi.org/10.1145/2635868.2635896
73 K Mao, M Harman, Y Jia. Sapienz: multi-objective automated testing for Android applications. In: Proceedings of the 25th International Symposium on Software Testing and Analysis. 2016, 94–105
https://doi.org/10.1145/2931037.2931054
74 M Harman, A Mansouri, Y Zhang. Search based software engineering: trends, techniques and applications. ACM Computing Surveys, 2012, 45(1): 11
75 C M Liang, N D Lane, N Brouwers, L Zhang, B Karlsson, H Liu, Y Liu, J Tang, X Shan, R Chandra, F Zhao. Caiipa: automated largescale mobile app testing through contextual fuzzing. In: Proceedings of the 20th Annual International Conference on Mobile Computing and Networking. 2014, 519–530
https://doi.org/10.1145/2639108.2639131
76 É Payet, F Spoto. Static analysis of Android programs. Information and Software Technology, 2012, 54(11): 1192–1201
https://doi.org/10.1016/j.infsof.2012.05.003
77 P Cousot, R Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proceedings of the 4th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. 1977, 238–252
https://doi.org/10.1145/512950.512973
78 P Maiya, A Kanade, R Majumdar. Race detection for Android applications. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation. 2014, 316–325
https://doi.org/10.1145/2666356.2594311
79 P Bielik, V Raychev, M T Vechev. Scalable race detection for Android applications. In: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications. 2015, 332–348
https://doi.org/10.1145/2814270.2814303
80 C Hsiao, C Pereira, J Yu, G Pokam, S Narayanasamy, P M Chen, Z Kong, J Flinn. Race detection for event-driven mobile applications. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation. 2014, 326–336
https://doi.org/10.1145/2666356.2594330
81 Y Hu, I Neamtiu, A Alavi. Automatically verifying and reproducing event-based races in Android apps. In: Proceedings of the 25th International Symposium on Software Testing and Analysis. 2016, 377–388
https://doi.org/10.1145/2931037.2931069
82 Z Shan, T Azim, I Neamtiu. Finding resume and restart errors in Android applications. In: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications. 2016, 864–880
https://doi.org/10.1145/2983990.2984011
83 L Wei, Y Liu, S Cheung. Taming Android fragmentation: characterizing and detecting compatibility issues for Android apps. In: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering. 2016, 226–237
https://doi.org/10.1145/2970276.2970312
84 Y Liu, C Xu, S Cheung. Characterizing and detecting performance bugs for smartphone applications. In: Proceedings of the 36th International Conference on Software Engineering. 2014, 1013–1024
https://doi.org/10.1145/2568225.2568229
85 Y Kang, Y Zhou, M Gao, Y Sun, M R Lyu. Experience report: detecting poor-responsive UI in android applications. In: Proceedings of the IEEE International Symposium on Software Reliability Engineering. 2016, 490–501
https://doi.org/10.1109/ISSRE.2016.16
86 Y Kang, Y Zhou, H Xu, M R Lyu. DiagDroid: Android performance diagnosis via anatomizing asynchronous executions. In: Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. 2016, 410–421
https://doi.org/10.1145/2950290.2950316
87 Y Lin, S Okur, D Dig. Study and refactoring of Android asynchronous programming. In: Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering. 2015, 224–235
https://doi.org/10.1109/ASE.2015.50
88 Y Lin, C Radoi, D Dig. Retrofitting concurrency for Android applications through refactoring. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. 2014, 341–352
https://doi.org/10.1145/2635868.2635903
89 Y Zhang, G Huang, X Liu, W Zhang, H Mei, S Yang. Refactoring Android Java code for on-demand computation offloading. In: Proceedings of the 27th Annual ACM SIGPLAN Conference on Object- Oriented Programming, Systems, Languages, and Applications. 2012, 233–248
https://doi.org/10.1145/2384616.2384634
90 D Yan, S Yang, A Rountev. Systematic testing for resource leaks in Android applications. In: Proceedings of the 24th IEEE International Symposium on Software Reliability Engineering. 2013, 411–420
https://doi.org/10.1109/ISSRE.2013.6698894
91 C Guo, J Zhang, J Yan, Z Zhang, Y Zhang. Characterizing and detecting resource leaks in Android applications. In: Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering. 2013, 389–398
https://doi.org/10.1109/ASE.2013.6693097
92 T Wu, J Liu, Z Xu, C Guo, Y Zhang, J Yan, J Zhang. Lightweight, inter-procedural and callback-aware resource leak detection for Android apps. IEEE Transactions on Software Engineering, 2016, 42(11): 1054–1076
https://doi.org/10.1109/TSE.2016.2547385
93 J Liu, T Wu, J Yan, J Zhang. Fixing resource leaks in Android apps with light-weight static analysis and low-overhead instrumentation. In: Proceedings of the 27th IEEE International Symposium on Software Reliability Engineering. 2016, 342–352
https://doi.org/10.1109/ISSRE.2016.15
94 A Banerjee, L K Chong, S Chattopadhyay, A Roychoudhury. Detecting energy bugs and hotspots in mobile apps. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. 2014, 588–598
https://doi.org/10.1145/2635868.2635871
95 A Pathak, A Jindal, Y C Hu, S P Midkiff. What is keeping my phone awake?: characterizing and detecting no-sleep energy bugs in smartphone apps. In: Proceedings of the 10th International Conference on Mobile Systems, Applications, and Services. 2012, 267–280
https://doi.org/10.1145/2307636.2307661
96 Y Liu, C Xu, S Cheung, V Terragni. Understanding and detecting wake lock misuses for Android applications. In: Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. 2016, 396–409
https://doi.org/10.1145/2950290.2950297
97 Y Liu, C Xu, S Cheung, J Lu. Greendroid: automated diagnosis of energy inefficiency for smartphone applications. IEEE Transactions on Software Engineering, 2014, 40(9): 911–940
https://doi.org/10.1109/TSE.2014.2323982
98 S Hao, D Li, W G J Halfond, R Govindan. Estimating mobile application energy consumption using program analysis. In: Proceedings of the 35th International Conference on Software Engineering. 2013, 92–101
https://doi.org/10.1109/ICSE.2013.6606555
99 D Li, Y Lyu, J Gui, W G J Halfond. Automated energy optimization of HTTP requests for mobile applications. In: Proceedings of the 38th International Conference on Software Engineering. 2016, 249–260
https://doi.org/10.1145/2884781.2884867
100 Z Yang, M Yang, Y Zhang, G Gu, P Ning, X S Wang. AppIntent: analyzing sensitive data transmission in Android for privacy leakage detection. In: Proceedings of the 2013 ACM SIGSAC Conference on Computer and Communications Security. 2013, 1043–1054
https://doi.org/10.1145/2508859.2516676
101 M Haris, H Haddadi, P Hui. Privacy leakage in mobile computing: tools, methods, and characteristics. 2014, arXiv preprint arXiv:1410.4978
102 S R Choudhary, A Gorla, A Orso. Automated test input generation for Android: are we there yet? In: Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering. 2015, 429–440
https://doi.org/10.1109/ASE.2015.89
103 W Martin, F Sarro, Y Jia, Y Zhang, M Harman. A survey of app store analysis for software engineering. IEEE Transactions on Software Engineering, 2017, 43(9): 817–847
https://doi.org/10.1109/TSE.2016.2630689
104 D J J Sufatrio, Tan, T Chua, V L L Thing. Securing Android: a survey, taxonomy, and challenges. ACMComputing Surveys, 2015, 47(4): 58
105 L Li, T F Bissyandé, M Papadakis, S Rasthofer, A Bartel, D Octeau, J Klein, Y L Traon. Static analysis of Android apps: a systematic literature review. Information and Software Technology, 2017, 88: 67–95
https://doi.org/10.1016/j.infsof.2017.04.001
106 A Sadeghi, H Bagheri, J Garcia, S Malek. A taxonomy and qualitative comparison of program analysis techniques for security assessment of android software. IEEE Transactions on Software Engineering, 2017, 43(6): 492–530
https://doi.org/10.1109/TSE.2016.2615307
[1] Article highlights Download
[1] Bin GUO, Yasan DING, Yueheng SUN, Shuai MA, Ke LI, Zhiwen YU. The mass, fake news, and cognition security[J]. Front. Comput. Sci., 2021, 15(3): 153806-.
[2] Abhishek MAJUMDAR, Arpita BISWAS, Atanu MAJUMDER, Sandeep Kumar SOOD, Krishna Lal BAISHNAB. A novel DNA-inspired encryption strategy for concealing cloud storage[J]. Front. Comput. Sci., 2021, 15(3): 153807-.
[3] Zeli WANG, Hai JIN, Weiqi DAI, Kim-Kwang Raymond CHOO, Deqing ZOU. Ethereum smart contract security research: survey and future research opportunities[J]. Front. Comput. Sci., 2021, 15(2): 152802-.
[4] Jian SUN, Pu-Feng DU. Predicting protein subchloroplast locations: the 10th anniversary[J]. Front. Comput. Sci., 2021, 15(2): 152901-.
[5] Je Sen TEH, Weijian TENG, Azman SAMSUDIN, Jiageng CHEN. A post-processing method for true random number generators based on hyperchaos with applications in audio-based generators[J]. Front. Comput. Sci., 2020, 14(6): 146405-.
[6] Jiangfan LI, Chendie YAO, Junxu XIA, Deke GUO. Guaranteeing the response deadline for general aggregation trees[J]. Front. Comput. Sci., 2020, 14(6): 146504-.
[7] Xiaochen LIU, Chunhe XIA, Tianbo WANG, Li ZHONG, Xiaojian LI. A behavior-aware SLA-based framework for guaranteeing the security conformance of cloud service[J]. Front. Comput. Sci., 2020, 14(6): 146808-.
[8] Yuling MA, Chaoran CUI, Jun YU, Jie GUO, Gongping YANG, Yilong YIN. Multi-task MIML learning for pre-course student performance prediction[J]. Front. Comput. Sci., 2020, 14(5): 145313-.
[9] Yanwei ZHOU, Bo YANG. Practical continuous leakage-resilient CCA secure identity-based encryption[J]. Front. Comput. Sci., 2020, 14(4): 144804-.
[10] Yudi ZHANG, Debiao HE, Mingwu ZHANG, Kim-Kwang Raymond CHOO. A provable-secure and practical two-party distributed signing protocol for SM2 signature algorithm[J]. Front. Comput. Sci., 2020, 14(3): 143803-.
[11] Xingyue CHEN, Tao SHANG, Feng ZHANG, Jianwei LIU, Zhenyu GUAN. Dynamic data auditing scheme for big data storage[J]. Front. Comput. Sci., 2020, 14(1): 219-229.
[12] Samuel IRVING, Bin LI, Shaoming CHEN, Lu PENG, Weihua ZHANG, Lide DUAN. Computer comparisons in the presence of performance variation[J]. Front. Comput. Sci., 2020, 14(1): 21-41.
[13] Yan ZHU, Khaled RIAD, Ruiqi GUO, Guohua GAN, Rongquan FENG. New instant confirmation mechanism based on interactive incontestable signature in consortium blockchain[J]. Front. Comput. Sci., 2019, 13(6): 1182-1197.
[14] Libo FENG, Hui ZHANG, Wei-Tek TSAI, Simeng SUN. System architecture for high-performance permissioned blockchains[J]. Front. Comput. Sci., 2019, 13(6): 1151-1165.
[15] Linjun MEI, Dan FENG, Lingfang ZENG, Jianxi CHEN, Jingning LIU. Exploiting flash memory characteristics to improve performance of RAIS storage systems[J]. Front. Comput. Sci., 2019, 13(5): 913-928.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed