期刊
EMPIRICAL SOFTWARE ENGINEERING
卷 21, 期 3, 页码 811-853出版社
SPRINGER
DOI: 10.1007/s10664-015-9367-7
关键词
Reverse engineering; EFSMs; Dynamic analysis
资金
- EU FP7 PROWESS projects
- UK Ministry of Defence (MOD)
- EPSRC [EP/M017044/1] Funding Source: UKRI
- Engineering and Physical Sciences Research Council [EP/M017044/1] Funding Source: researchfish
The ability to reverse-engineer models of software behaviour is valuable for a wide range of software maintenance, validation and verification tasks. Current reverse-engineering techniques focus either on control-specific behaviour (e.g., in the form of Finite State Machines), or data-specific behaviour (e.g., as pre / post-conditions or invariants). However, typical software behaviour is usually a product of the two; models must combine both aspects to fully represent the software's operation. Extended Finite State Machines (EFSMs) provide such a model. Although attempts have been made to infer EFSMs, these have been problematic. The models inferred by these techniques can be non-deterministic, the inference algorithms can be inflexible, and only applicable to traces with specific characteristics. This paper presents a novel EFSM inference technique that addresses the problems of inflexibility and non-determinism. It also adapts an experimental technique from the field of Machine Learning to evaluate EFSM inference techniques, and applies it to three diverse software systems.
作者
我是这篇论文的作者
点击您的名字以认领此论文并将其添加到您的个人资料中。
推荐
暂无数据