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 pro...
Bugs in multi-threaded programs often arise due to data races. Numerous static and dynamic program a...
Event-based interaction is an attractive paradigm because its use can lead to highly flexible and ad...
The tool AndRacer presents an implementation of sound, efficient, and effective static analysis tech...
Programming environments for smartphones expose a concurrency model that combines multi-threading an...
Mobile systems commonly support an event-based model of con-current programming. This model, used in...
Concurrency bugs are notoriously difficult to debug, and situation becomes even worse on mobile plat...
© 2019 IEEE. Unlike Java, Android provides a rich set of APIs to support a hybrid concurrency system...
Automatic static detection of data races is one of the most basic problems in reasoning about concur...
Running compute-intensive or blocking I/O operations in the UI event thread of smartphone apps can s...
Due to the increased emphasis on responsiveness, event-based design has become mainstream in softwar...
Running compute-intensive or blocking I/O operations in the UI event thread of smartphone apps can s...
Mobile platforms commonly support an event-driven model of concurrent programming. In an event-drive...
Perpetual availability is an important operational goal in today\u27s computer systems. However, ach...
Dynamic race detectors operate by analyzing execution traces of programs to detect races in multithr...
Modern web pages are becoming increasingly full-featured, and this additional functionality often re...
Bugs in multi-threaded programs often arise due to data races. Numerous static and dynamic program a...
Event-based interaction is an attractive paradigm because its use can lead to highly flexible and ad...
The tool AndRacer presents an implementation of sound, efficient, and effective static analysis tech...
Programming environments for smartphones expose a concurrency model that combines multi-threading an...
Mobile systems commonly support an event-based model of con-current programming. This model, used in...
Concurrency bugs are notoriously difficult to debug, and situation becomes even worse on mobile plat...
© 2019 IEEE. Unlike Java, Android provides a rich set of APIs to support a hybrid concurrency system...
Automatic static detection of data races is one of the most basic problems in reasoning about concur...
Running compute-intensive or blocking I/O operations in the UI event thread of smartphone apps can s...
Due to the increased emphasis on responsiveness, event-based design has become mainstream in softwar...
Running compute-intensive or blocking I/O operations in the UI event thread of smartphone apps can s...
Mobile platforms commonly support an event-driven model of concurrent programming. In an event-drive...
Perpetual availability is an important operational goal in today\u27s computer systems. However, ach...
Dynamic race detectors operate by analyzing execution traces of programs to detect races in multithr...
Modern web pages are becoming increasingly full-featured, and this additional functionality often re...
Bugs in multi-threaded programs often arise due to data races. Numerous static and dynamic program a...
Event-based interaction is an attractive paradigm because its use can lead to highly flexible and ad...
The tool AndRacer presents an implementation of sound, efficient, and effective static analysis tech...