Complex functional integration leads to intricate logical control flows which in turn presents a great challenge to construct software behavior models. In this paper, we propose a probabilistic software behavior model by mining the execution traces using control flow analysis. To describe the interactions between software components, a semantic characterization method is developed. A tracing mechanism is designed to collect execution logs, based on which algorithms are developed to recognize detailed control relations. Moreover, dynamic behavioral frequencies are statistically estimated which provide quantitative data for behavior prediction. Finally, a multi-label enhanced software complex network model, which holds single or composite call relations and calling probabilities, is constructed with the purpose of profiling systematically and structurally. An illustrative example shows that the modeling approach can discover interactive patterns correctly and characterize software behavior scientifically. The method has been used in seven real-world projects, and results show that the proposed model is effective on discovering the complexities of software behavior and hence help to detect defects in software design and to improve performance.
He, H., Ren, J., Zhao, G., Zhang, Y., & Hao, X. (2019). Mining of Probabilistic Controlling Behavior Model from Dynamic Software Execution Trace. IEEE Access, 7, 79602–79616. https://doi.org/10.1109/ACCESS.2019.2922998