为解决统一建模语言(UML,unified modeling language)模型与源代码一致性检测缺少动态分析的问题,讨论了一种基于有限状态机(FSM,finite state machine)的UML模型与代码一致性动态检测方法。该方法执行源代码并捕获方法调用跟踪,将捕获...为解决统一建模语言(UML,unified modeling language)模型与源代码一致性检测缺少动态分析的问题,讨论了一种基于有限状态机(FSM,finite state machine)的UML模型与代码一致性动态检测方法。该方法执行源代码并捕获方法调用跟踪,将捕获的方法调用与UML顺序图转换得到的FSM进行匹配,以此来检测动态行为的一致性。在三个开源项目上进行了实验,分别发现了31、45和69处不一致,检出率分别达到93.94%、88.24%和90.79%。实验结果表明,在基于图论的一致性静态检测的基础上,该方法可以对UML模型与代码的一致性进行动态检测,且具有较高的检测准确率。展开更多
文摘为解决统一建模语言(UML,unified modeling language)模型与源代码一致性检测缺少动态分析的问题,讨论了一种基于有限状态机(FSM,finite state machine)的UML模型与代码一致性动态检测方法。该方法执行源代码并捕获方法调用跟踪,将捕获的方法调用与UML顺序图转换得到的FSM进行匹配,以此来检测动态行为的一致性。在三个开源项目上进行了实验,分别发现了31、45和69处不一致,检出率分别达到93.94%、88.24%和90.79%。实验结果表明,在基于图论的一致性静态检测的基础上,该方法可以对UML模型与代码的一致性进行动态检测,且具有较高的检测准确率。