Models such as finite state automata are widely used to abstract the behavior of software systems by capturing the sequences of events observable during their execution. Nevertheless, models rarely exist in practice and, when they do, get easily outdated; moreover, manually building and maintaining models is costly and error-prone. As a result, a variety of model inference methods that automatically construct models from execution traces have been proposed to address these issues. However, performing a systematic and reliable accuracy assessment of inferred models remains an open problem. Even when a reference model is given, most existing model accuracy assessment methods may return misleading and biased results. This is mainly due to their reliance on statistical estimators over a finite number of randomly generated traces, introducing avoidable uncertainty about the estimation and being sensitive to the parameters of the random trace generative process. This paper addresses this problem by developing a systematic approach based on analytic combinatorics that minimizes bias and uncertainty in model accuracy assessment by replacing statistical estimation with deterministic accuracy measures. We experimentally demonstrate the consistency and applicability of our approach by assessing the accuracy of models inferred by state-of-the-art inference tools against reference models from established specification mining benchmarks.
翻译:诸如有限状态自动数据等模型被广泛用来通过捕捉执行过程中所观察到的事件序列来抽象软件系统的行为,从而得出软件系统的行为;然而,在实际中很少存在模型,而且当模型出现时很容易过时;此外,人工建造和维护模型成本高,而且容易出错;因此,提出了各种根据执行痕迹自动构建模型的模型推论方法来解决这些问题;然而,对推断模型进行系统和可靠的准确性评估仍然是一个尚未解决的问题;即使提供了参考模型,大多数现有的模型准确性评估方法也可能返回错误和偏差的结果;这主要是因为这些模型依赖统计估计者,而统计估计者则对随机生成的微量痕迹的有限数目负责,对估计结果产生可避免的不确定性,并对随机追踪基因化过程的参数敏感;因此,已提议了各种基于分析性混合法的系统方法,通过用确定性准确性措施取代统计性估算,尽量减少模型准确性评估的偏差和不确定性;我们实验性地展示了我们方法的一致性和可适用性,方法是评估由州级推算出的模型的准确性,根据既定的采矿标准评估参考模型的精确性模型的精确性。