Write a Blog >>
Tue 11 Jul 2017 10:30 - 10:55 at Bren 1414 - Concurrency Chair(s): Chao Wang

An emerging style of programming is to use both threads and events to achieve better scalability. The improved scalability comes at the price of increased complexity, as both threads and events can follow non-deterministic schedules. The happens-before (HB) relation captures the space of possible schedules and forms the basis of various concurrency analyses. Improving efficiency of the HB computation can speed up these analyses. In this paper, we identify a major bottleneck in computation of the HB relation for such event-driven programs. Event-driven programs are designed to interact continuously with their environment, and usually receive a large number of events even within a short span of time. This increases the cost of discovering the HB order among the events. We propose a novel data structure, called event graph, that maintains a subset of the HB relation to efficiently infer order between any pair of events. We present an algorithm, called EventTrack, which improves efficiency of vector clock based HB computation for event-driven programs using event graphs. We have implemented EventTrack and evaluated it on traces of eight Android applications. Compared to the state-of-the-art technique, EventTrack gave an average speedup of 4.9x. The speedup ranged from 1.8x to 10.3x across the applications.

Tue 11 Jul
Times are displayed in time zone: (GMT-07:00) Tijuana, Baja California change

10:30 - 11:45: Technical Papers - Concurrency at Bren 1414
Chair(s): Chao Wang
issta-2017-research10:30 - 10:55
Pallavi MaiyaIndian Institute of Science, Bangalore, Aditya KanadeIndian Institute of Science, Bangalore
issta-2017-research10:55 - 11:20
Yu WangNanjing University, China, Linzhang Wang, Tingting YuUniversity of Kentucky, Jianhua ZhaoNanjing University, China, Xuandong LiNanjing University
issta-2017-research11:20 - 11:45
Antoine El-HokayemGrenoble Alpes University, France / Inria, France / CNRS, France, Yliès FalconeUniv. Grenoble Alpes, Inria