Automated Finite State Machine Extraction

Yongheng Chen,Linhai Song,Xinyu Xing,Fengyuan Xu,Wenfei Wu
DOI: https://doi.org/10.1145/3338502.3359760
2019-01-01
Abstract:Finite state machine (FSM) is a type of computation models widely used in various software programs. Extracting implemented FSMs has many important applications in the networking, software engineering and security domains. In this paper, we first conduct an empirical study to understand how FSMs are implemented in real-world software. Under the guidance of our study results, we then design a static analysis tool, FSMExtractor, to automatically identify and synthesize implemented FSMs. Evaluation using 160 software programs from three sources shows that FSMExtractor can extract all implemented FSMs and report very few false positives.
What problem does this paper attempt to address?