Concurrency bugs are notoriously difficult to debug, and situation becomes even worse on mobile platforms due to their asynchronous programming model. Android, the dominant mobile platform, has been plagued by concurrency errors ever since its inception, and the majority of those errors are event-driven races, a new type of race caused by nondeterministic order of events that access the same memory with at least one write access. Prior researches have proposed several dynamic approaches to discover harmful event-driven races. However, due to their dynamic nature, these approaches suffer from coverage and false negative issues. Moreover, they produce false positives, cannot reproduce races, and cannot distinguish between benign and harmful r...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
Due to the rapid increase of Android apps and their wide usage to handle personal data, a precise an...
Dynamic race detectors operate by analyzing execution traces of programs to detect races in multithr...
Mobile systems commonly support an event-based model of con-current programming. This model, used in...
Programming environments for smartphones expose a concurrency model that combines multi-threading an...
Event-based interaction is an attractive paradigm because its use can lead to highly flexible and ad...
Mobile platforms commonly support an event-driven model of concurrent programming. In an event-drive...
© 2019 IEEE. Unlike Java, Android provides a rich set of APIs to support a hybrid concurrency system...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Recording and replaying the execution of smartphone apps is useful in a variety of contexts, from re...
Automatic static detection of data races is one of the most basic problems in reasoning about concur...
Mobile applications became integral part of our daily life as they provide excellent portability and...
Bugs in multi-threaded programs often arise due to data races. Numerous static and dynamic program a...
Perpetual availability is an important operational goal in today\u27s computer systems. However, ach...
Finding and fixing bugs is a major but time- and effort-consuming task for software quality assuranc...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
Due to the rapid increase of Android apps and their wide usage to handle personal data, a precise an...
Dynamic race detectors operate by analyzing execution traces of programs to detect races in multithr...
Mobile systems commonly support an event-based model of con-current programming. This model, used in...
Programming environments for smartphones expose a concurrency model that combines multi-threading an...
Event-based interaction is an attractive paradigm because its use can lead to highly flexible and ad...
Mobile platforms commonly support an event-driven model of concurrent programming. In an event-drive...
© 2019 IEEE. Unlike Java, Android provides a rich set of APIs to support a hybrid concurrency system...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Recording and replaying the execution of smartphone apps is useful in a variety of contexts, from re...
Automatic static detection of data races is one of the most basic problems in reasoning about concur...
Mobile applications became integral part of our daily life as they provide excellent portability and...
Bugs in multi-threaded programs often arise due to data races. Numerous static and dynamic program a...
Perpetual availability is an important operational goal in today\u27s computer systems. However, ach...
Finding and fixing bugs is a major but time- and effort-consuming task for software quality assuranc...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
Due to the rapid increase of Android apps and their wide usage to handle personal data, a precise an...
Dynamic race detectors operate by analyzing execution traces of programs to detect races in multithr...