Computer-assisted specification of asynchronous interfaces with non-deterministic behavior

Nicholas V. Lewchenko · 2017

The Android Framework is designed around components with asynchronous interfaces, in which inputs and outputs are not directly coupled. Precisely specifying behavior of this sort is a slow, error-prone process, and thus documentation and testing for such components is usually incomplete. I have participated over the last year in a collaborative research project seeking to solve this problem by automating the generation and verification of these specifications via active learning on a live Android system. Part of my work has been the extension of our automation technique to Android Framework components with non-deterministic behavior that prevents direct application of active learning algorithms. To this end, I have applied our learning engine in the form of a specification assistant which mixes automation and manual guidance to learn non-deterministic interfaces with as little user intervention as possible.

Read the paper · More papers on PaperTik