Automatic Model Completion for Web Applications

2020 
Model-based testing is one of the most effective methods for testing web applications, where the integrity of models determines the effectiveness and efficiency of testing. Static/dynamic analysis techniques are widely used to construct models for web applications. However, it is almost impossible to build a complete model for web applications by static analysis techniques since web applications are driven by events, and web pages are generated dynamically. Dynamic analysis techniques construct models through monitoring the execution of web applications and capturing the pivotal behavior information. But it is challenging to explore all possible behaviors, resulting in incomplete models. So, the combination of dynamic and static analysis techniques is a viable way to construct a more complete model for web applications. Extended Finite State Machine (EFSM) is considered more suitable to represent modern web applications. So this paper defines an integrity criterion for EFSM models of web applications and proposes a model completion method by combining dynamic analysis and static analysis techniques. Static analysis is used to collect all behaviors from the source code of web application, identify the uncovered ones from the EFSM model built according to the integrity criterion, and find feasible transition sequences for the uncovered behaviors on the EFSM model. Furthermore, we design multiple priority rules for transition sequence generation to improve its efficiency. The dynamic analysis is employed to simulate the execution of feasible transition sequences on the EFSM model such that the uncovered behaviors can be added into the model to improve its integrity. We implement our method in a prototype tool called AutoMC and conduct a series of experiments on five open-source web applications. The experiment results show that our method can complete the model of web applications, and the priority rules provide effective guidance in transition sequence generation. The model’s integrity improved by 22.68% on average.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    0
    References
    0
    Citations
    NaN
    KQI
    []