我被分配了一个任务,在这里我需要检测一个给定的应用程序并生成一个跟踪文件,然后从跟踪文件生成一个序列图。应用程序是用Python编写的。该应用程序在方法启动和退出的地方进行了检测。
我的主要目的是在跟踪文件中找到重复的模式?
以下是跟踪文件的示例

Entering    get_instance    None    []  None    10:25:30:743000
Entering    __init__    ConfigHandler   ['config_filepath'] 56663624    10:25:30:743000
Entering    _load_config    ConfigHandler   ['path']    56663624    10:25:30:744000
Exited  _load_config    ConfigHandler   True    56663624    10:25:30:746000
Exited  __init__    ConfigHandler   None    56663624    10:25:30:747000
Exited  get_instance    None    <commons.ConfigHandler.ConfigHandler object at 0x0000000003609E48>  None    10:25:30:747000
Entering    __init__    ColumnConverter []  56963312    10:25:30:769000
Exited  __init__    ColumnConverter None    56963312    10:25:30:769000
Entering    __init__    PredicatesFactory   []  56963424    10:25:30:769000
Exited  __init__    PredicatesFactory   None    56963424    10:25:30:769000
Entering    __init__    LogFileConverter    []  56963536    10:25:30:769000
Exited  __init__    LogFileConverter    None    56963536    10:25:30:769000

如何在跟踪文件中找到重复的模式?
我的主要目的是在跟踪文件中找到重复的模式?

最佳答案

可以使用PrefixSpan算法查找顺序规则。
报纸:
http://www.cs.uiuc.edu/~hanj/pdf/span01.pdf
本网站有开源Java代码,您可以从中获得灵感:
http://www.philippe-fournier-viger.com/spmf/index.php?link=documentation.php#examplePrefixSpan

10-07 16:54