Computer Science ›› 2017, Vol. 44 ›› Issue (2): 216-221, 256.doi: 10.11896/j.issn.1002-137X.2017.02.035

Previous Articles     Next Articles

Scenario-oriented Location Method of Android Applications

LV Zhao-jin, SHEN Li-wei and ZHAO Wen-yun   

  • Online:2018-11-13 Published:2018-11-13

Abstract: During the process of implementing new requirements or maintaining existing project codes,Android application developers often try to acquire code fragments related to specific themes and understand their logical structures.As it involves analytical work on the code level,it costs developers much time to locate code fragments and sorts out the implementation logic due to the complexity of codes’ structures and bad code style of developers.Therefore,it is important to find a method that can be used to locate the fragments quickly.In this paper,we proposed a scenario-oriented location method of Android applications.This method combines static analysis and dynamic analysis techniques according to an execution scenario of a specific theme,and then locates code fragments associated with the specific themes.The method comprises the steps of collecting and analyzing theme execution traces,static analyzing of Android source codes,information matching and synthesizing on top of static and dynamic methods,and visualizing the method information.We furthermore implemented a plug-in tool to facilitate the search process of codes’ information with respect to specific theme and support the highlight of code fragments specified by developers.

Key words: Android application,Theme function,Dynamic analysis,Static analysis,Feature location,Method host association graph,Method call graph

[1] PAYET ,SPOTO F.Static analysis of Android programs[J].Information and Software Technology,2012,54(11):1192-1201 .
[2] Klocwork.[2015-12-10].http://klocwork.com/index.asp.
[3] BURGUERA I,ZURUTUZA U,NADJM-TEHRANI S.Crowdroid:Behavior-Based Malware Detection System for Android[C]∥Proceedings of the 1st ACM Workshop on Security and Privacy in Smartphones and Mobile Devices.2011:16-26.
[4] YAN L K,YIN H.DroidScope:Seamlessly Reconstructing theOS and Dalvik Semantic Views for Dynamic Android Malware Analysis[C]∥21st USENIX Security Symposium.2012:569-584.
[5] WILDE N,SCULLY M C.Software Reconnaissance:Mapping Program Features to Code[J].Software Maintenance:Research and Practice,1995,7(1):49-62.
[6] EISENBARTH T,KOSCHKE R,SIMON D.Derivation of feature component maps by means of concept analysis[C]∥Proceedings of European Conference on Software Maintenance and Reengineering.2001:176-179.
[7] EISENBERG A D,DE VOLDER K.Dynamic Feature Traces:Finding Features in Unfamiliar Code[C]∥Proceedings of 21st IEEE International Conference on Software Maintenance.2005:337-346.
[8] EISENBARTH T,KOSCHKE R,SIMON D.Aiding programcomprehension by static and dynamic feature analysis[C]∥Proceedings of International Conference on Software Maintenance.2001:602-611.
[9] KSTNER C,TRUJILLO S,APEL S.Visualizing SoftwareProduct Line Variabilities in Source Code[C]∥Proc.SPLC Workshop on Visualization in Software Product Line Enginee-ring.2008:303:312.
[10] KSTNER C,APEL S,KUHLEMANN M.Granularity in Software Product Lines[C]∥Proceedings of the 30th International Conference on Software Engineering.ACM,2008:311-320.
[11] TraceView.[2015-12-10].http://developer.android.com/tools/debugging/debugging-tracing.html.
[12] WOLFSON M.Android Developer Tools Essentials:AndroidStudio to Zipalign[M].O’Reilly Media,2013.
[13] AN L J.Design and implementation of the android system log storage and viewing tools[D].Beijing:Beijing University of Posts and Telecommunications,2012.(in Chinese) 安立君.Android系统日志存和查看工具的设计与实现[D].北京:北京邮电大学,2012.
[14] WEISER M D.Program slices:formal,psychological,and practical investigations of an automatic program abstraction method[M].University of Michigan,Ann Arbor,MI,1979 .
[15] OTTENSTEIN K J,OTTENSTEIN L M.The program depen-dence graph in a software development environment[J].ACM Sigplan Notices,1984,9(5):177-184.
[16] HAN Z,CHEN S H.Analysis on follow region and algorithm for construction program dependence graph[C]∥China National Computer Conference.2009:499-507.(in Chinese) 韩喆,陈世鸿.跳转语句跟随域分析与程序依赖图构造算法[C]∥中国计算机大会.2009:499-507.
[17] Zest.[2015-12-10]:http://www.eclipse.org/gef/zest.

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
[1] LEI Li-hui and WANG Jing. Parallelization of LTL Model Checking Based on Possibility Measure[J]. Computer Science, 2018, 45(4): 71 -75, 88 .
[2] XIA Qing-xun and ZHUANG Yi. Remote Attestation Mechanism Based on Locality Principle[J]. Computer Science, 2018, 45(4): 148 -151, 162 .
[3] LI Bai-shen, LI Ling-zhi, SUN Yong and ZHU Yan-qin. Intranet Defense Algorithm Based on Pseudo Boosting Decision Tree[J]. Computer Science, 2018, 45(4): 157 -162 .
[4] WANG Huan, ZHANG Yun-feng and ZHANG Yan. Rapid Decision Method for Repairing Sequence Based on CFDs[J]. Computer Science, 2018, 45(3): 311 -316 .
[5] SUN Qi, JIN Yan, HE Kun and XU Ling-xuan. Hybrid Evolutionary Algorithm for Solving Mixed Capacitated General Routing Problem[J]. Computer Science, 2018, 45(4): 76 -82 .
[6] ZHANG Jia-nan and XIAO Ming-yu. Approximation Algorithm for Weighted Mixed Domination Problem[J]. Computer Science, 2018, 45(4): 83 -88 .
[7] WU Jian-hui, HUANG Zhong-xiang, LI Wu, WU Jian-hui, PENG Xin and ZHANG Sheng. Robustness Optimization of Sequence Decision in Urban Road Construction[J]. Computer Science, 2018, 45(4): 89 -93 .
[8] LIU Qin. Study on Data Quality Based on Constraint in Computer Forensics[J]. Computer Science, 2018, 45(4): 169 -172 .
[9] ZHONG Fei and YANG Bin. License Plate Detection Based on Principal Component Analysis Network[J]. Computer Science, 2018, 45(3): 268 -273 .
[10] SHI Wen-jun, WU Ji-gang and LUO Yu-chun. Fast and Efficient Scheduling Algorithms for Mobile Cloud Offloading[J]. Computer Science, 2018, 45(4): 94 -99, 116 .