MANDOLINE: Dynamic Slicing of Android Applications with Trace-Based Alias Analysis

被引:10
作者
Ahmed, Khaled [1 ]
Lis, Mieszko [1 ]
Rubin, Julia [1 ]
机构
[1] Univ British Columbia, Vancouver, BC, Canada
来源
2021 14TH IEEE CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST 2021) | 2021年
关键词
D O I
10.1109/ICST49551.2021.00022
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Dynamic program slicing is used in a variety of tasks, including program debugging and security analysis. Building an efficient and effective dynamic slicing tool is a challenging task, especially in an Android environment, where programs are event-driven, asynchronous, and interleave code written by a developer with the code of the underlying Android platform. The user-facing nature of Android applications further complicates matters as the slicing solution has to maintain a low overhead to avoid substantial application slowdown. In this paper, we propose an accurate and efficient dynamic slicing technique for Android applications and implement it in a tool named MANDOLINE. The core idea behind our technique is to use minimal, low-overhead instrumentation followed by sophisticated, on-demand execution trace analysis for constructing a dynamic slice. We also contribute a benchmark suite of Android applications with manually constructed dynamic slices that use a faulty line of code as a slicing criterion. We evaluate MANDOLINE on that benchmark suite and show that it is substantially more accurate and efficient than the state-of-the-art dynamic slicing technique named ANDROIDSLICER.
引用
收藏
页码:105 / 115
页数:11
相关论文
共 37 条
[1]  
AGRAWAL H, 1990, SIGPLAN NOTICES, V25, P246, DOI 10.1145/93548.93576
[2]  
Agrawal H., 1991, P ACM 4 S TESTING AN, P60, DOI DOI 10.1145/120807.120813
[3]  
Allen F.E., 1970, ACM Sigplan Not., P1, DOI [10.1145/800028.808479, DOI 10.1145/390013.808479]
[4]  
Alves E., 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering, P520, DOI 10.1109/ASE.2011.6100114
[5]  
[Anonymous], 2020, MANDOLINE
[6]  
Arzt S, 2014, ACM SIGPLAN NOTICES, V49, P259, DOI [10.1145/2666356.2594299, 10.1145/2594291.2594299]
[7]   StubDroid: Automatic Inference of Precise Data-flow Summaries for the Android Framework [J].
Arzt, Steven ;
Bodden, Eric .
2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2016, :725-735
[8]  
Azim T., ANDROIDSLICER
[9]   Dynamic Slicing for Android [J].
Azim, Tanzirul ;
Alavi, Arash ;
Neamtiu, Iulian ;
Gupta, Rajiv .
2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2019), 2019, :1154-1164
[10]  
Cartucho Joao, Record and Replay Touchscreen Events on Android