DroidStar: callback typestates for Android classes
Abstract
Event-driven programming frameworks, such as Android, are based on components with asynchronous interfaces. The protocols for interacting with these components can often be described by finite-state machines we dub callback typestates. Callback typestates are akin to classical typestates, with the difference that their outputs (callbacks) are produced asynchronously. While useful, these specifications are not commonly available, because writing them is difficult and error-prone.
BibTeX
@inproceedings{Radhakrishna-al:ICSE18,
author = {Arjun Radhakrishna and
Nicholas V. Lewchenko and
Shawn Meier and
Sergio Mover and
Krishna Chaitanya Sripada and
Damien Zufferey and
Bor{-}Yuh Evan Chang and
Pavol Cern{\'{y}}},
title = {{DroidStar:} callback typestates for Android classes},
booktitle = {ICSE},
pages = {1160--1170},
publisher = {{ACM}},
year = {2018},
}