Blogs (1) >>
ICSE 2019
Sat 25 - Fri 31 May 2019 Montreal, QC, Canada
Wed 29 May 2019 16:20 - 16:40 at Laurier - Analysis and Verification Chair(s): Domenico Bianculli

Hybrid applications (apps) have become one of the most attractive options for mobile app developers thanks to its support for portability and device-specific features. Android hybrid apps, for example, support portability via JavaScript, device-specific features via Android Java, and seamless interactions between them. However, their interoperation semantics is often under-documented and unintuitive, which makes hybrid apps vulnerable to errors. While recent research has addressed such vulnerabilities, none of them are based on any formal ground. In this paper, we present the first formal specification of Android interoperability to establish a firm ground for understanding and reasoning the interoperations. We identify its semantics via extensive testing and thorough inspection of Android source code. We extend an existing multi-language semantics to formally express the key features of hybrid mechanisms, dynamic and indistinguishable interoperability. Based on the extensions, we incrementally define a formal interoperation semantics and disclose its numerous unintuitive and inconsistent behaviors. Moreover, on top of the formal semantics, we devise a sound and efficient type system that can detect bugs due to the unintuitive inter-language communication. We show that it detects more bugs more efficiently than HybriDroid, the state-of-the-art analyzer of Android hybrid apps, in real-world Android hybrid apps.

Wed 29 May

Displayed time zone: Eastern Time (US & Canada) change

16:00 - 18:00
Analysis and VerificationDemonstrations / Technical Track / Journal-First Papers / Papers at Laurier
Chair(s): Domenico Bianculli University of Luxembourg
16:00
20m
Talk
Easy Modelling and Verification of Unpredictable and Preemptive Interrupt-driven SystemsArtifacts Evaluated ReusableTechnical Track
Technical Track
Minxue Pan Nanjing University, Shouyu Chen Nanjing University, Yu Pei The Hong Kong Polytechnic University, Tian Zhang Nanjing University, Xuandong Li Nanjing University
16:20
20m
Talk
Towards Understanding and Reasoning about Android InteroperationsTechnical Track
Technical Track
Sora Bae Oracle Labs, Australia, Sungho Lee KAIST, South Korea, Sukyoung Ryu KAIST, South Korea
16:40
20m
Talk
ALPACA: A Large Portfolio-based Alternating Conditional AnalysisDemos
Demonstrations
Mitchell Gerrard University of Virginia, Matthew B Dwyer University of Virginia
17:00
20m
Talk
Mockingbird: A Framework for Enabling Targeted Dynamic Analysis of Java ProgramsDemos
Demonstrations
Derrick Lockwood Iowa State University, Benjamin Holland , Suresh Kothari Iowa State University, USA
17:20
20m
Talk
Zero-Overhead Path Prediction with Progressive Symbolic ExecutionArtifacts AvailableTechnical Track
Technical Track
Richard Rutledge Georgia Institute of Technology, Sunjae Park Georgia Institute of Technology, Haider Khan Georgia Institute of Technology, Alessandro Orso Georgia Tech, Milos Prvulovic Georgia Institute of Technology, Alenka Zajic Georgia Institute of Technology
17:40
10m
Talk
Platform-Independent Dynamic Taint Analysis for JavaScriptJournal-First
Journal-First Papers
Rezwana Karim Samsung Research America, Frank Tip Northeastern University, Alena Sochurkova Avast, Koushik Sen University of California, Berkeley
17:50
10m
Talk
Discussion Period
Papers