ePrints@IIScePrints@IISc Home | About | Browse | Latest Additions | Advanced Search | Contact | Help

Race Detection for Android Applications

Maiya, Pallavi and Kanade, Aditya and Majumdar, Rupak (2014) Race Detection for Android Applications. In: ACM SIGPLAN NOTICES, 49 (6). pp. 316-325.

[img] PDF
acm_sig_not_49-6_316_2014.pdf - Published Version
Restricted to Registered users only

Download (479kB) | Request a copy
Official URL: http://dx.doi.org/ 10.1145/2594291.2594311

Abstract

Programming environments for smartphones expose a concurrency model that combines multi-threading and asynchronous event-based dispatch. While this enables the development of efficient and feature-rich applications, unforeseen thread interleavings coupled with non-deterministic reorderings of asynchronous tasks can lead to subtle concurrency errors in the applications. In this paper, we formalize the concurrency semantics of the Android programming model. We further define the happens-before relation for Android applications, and develop a dynamic race detection technique based on this relation. Our relation generalizes the so far independently studied happens-before relations for multi-threaded programs and single-threaded event-driven programs. Additionally, our race detection technique uses a model of the Android runtime environment to reduce false positives. We have implemented a tool called DROIDRACER. It generates execution traces by systematically testing Android applications and detects data races by computing the happens-before relation on the traces. We analyzed 1 5 Android applications including popular applications such as Facebook, Twitter and K-9 Mail. Our results indicate that data races are prevalent in Android applications, and that DROIDRACER is an effective tool to identify data races.

Item Type: Journal Article
Additional Information: Copyright for this article belongs to the ASSOC COMPUTING MACHINERY, 2 PENN PLAZA, STE 701, NEW YORK, NY 10121-0701 USA
Keywords: Languages; Reliability; Verification; Data races; Android concurrency semantics; Happens-before reasoning
Department/Centre: Division of Electrical Sciences > Computer Science & Automation
Depositing User: Id for Latest eprints
Date Deposited: 20 Dec 2014 05:57
Last Modified: 20 Dec 2014 05:57
URI: http://eprints.iisc.ac.in/id/eprint/50492

Actions (login required)

View Item View Item