kirancodes.me
To Proof Maintenance & Beyond!

Static executes-before analysis for event driven programs

Rekha R. Pai, Abhishek Uppar, Akshatha Shenoy, Pranshul Kushwaha, Deepak D'Souza

Abstract

The executes-before relation between tasks is fundamental in the analysis of Event Driven Programs with several downstream applications like race detection and identifying redundant synchronizations. We present a sound, efficient, and effective static analysis technique to compute executes-before pairs of tasks for a general class of event driven programs. The analysis is based on a small but comprehensive set of rules evaluated on a novel structure called the task post graph of a program. We show how to use the executes-before information to identify disjoint-blocks in event driven programs and further use them to improve the precision of data race detection for these programs. We have implemented our analysis in the Flowdroid framework in a tool called AndRacer and evaluated it on several Android apps, bringing out the scalability, recall, and improved precision of the analyses

BibTeX
@inproceedings{Pai-al:FSE22,
  author    = {Rekha R. Pai and
               Abhishek Uppar and
               Akshatha Shenoy and
               Pranshul Kushwaha and
               Deepak D'Souza},
  title     = {Static executes-before analysis for event driven programs},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {233--244},
  publisher = {{ACM}},
  year      = {2022},
}

Related papers