Towards Practical Evaluation of Android ICC Resolution Techniques

11/10/2021
by   Jiwei Yan, et al.
0

Inter-component communication (ICC) is a key mechanism in mobile apps, which enables the message-based control flow transferring and data passing between components. Effective ICC resolution requires precisely identifying entry points, tracking data values of ICC fields, modeling related framework APIs, etc. Due to the multiple complex characteristics involved, the evaluation of ICC resolution approaches is challenging. Although a set of ICC-related hand-made benchmarks are publicly available, which supports the assessments on parts of the characteristics, the practical evaluations on more complicated scenarios are not available due to the lack of a reliable oracle from real-world apps. In this paper, we carried out the research to answer three key questions: 1) to what extent can the existing benchmarks contribute to the evaluation of ICC resolution; 2) how to construct the practical, representative, and reliable oracle of real-world apps; 3) what are the pros and cons of the state-of-the-art ICC resolution tools. First, we performed pre-evaluations of tools on two sets of benchmarks, including four hand-made ones and a large-scale dataset with 4,000 real-world apps, using metrics adopted in existing works as well as three graph-based ones proposed by us. For a more practical evaluation, we designed a stack-based trace analysis approach to extract reliable ICC links and manually labeled the involved code characteristics for 1,452 links. With the newly constructed oracle, we conducted another evaluation of the existing tools. Based on the evaluation results, we identified the limitations of the existing tools and developed a new ICC resolution tool ICCBot, which achieves better performance on both the hand-made and real-world apps.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/17/2020

RAICC: Revealing Atypical Inter-Component Communication in Android Apps

Inter-Component Communication (ICC) is a key mechanism in Android. It en...
research
01/22/2018

Large-Scale Analysis of Framework-Specific Exceptions in Android Apps

Mobile apps have become ubiquitous. For app developers, it is a key prio...
research
12/13/2018

IIFA: Modular Inter-app Intent Information Flow Analysis of Android Applications

Android apps cooperate through message passing via intents. However, whe...
research
04/09/2018

Do Android Taint Analysis Tools Keep their Promises?

In recent years, researchers have developed a number of tools to conduct...
research
03/12/2019

BenchPress: Analyzing Android App Vulnerability Benchmark Suites

In recent years, various efforts have designed and developed benchmark s...
research
09/14/2021

BenchIE: Open Information Extraction Evaluation Based on Facts, Not Tokens

Intrinsic evaluations of OIE systems are carried out either manually – w...
research
09/19/2018

Divide and Conquer: Recovering Contextual Information of Behaviors in Android Apps around Limited-quantity Audit Logs

Android users are now suffering serious threats from various unwanted ap...

Please sign up or login with your details

Forgot password? Click here to reset