-
公开(公告)号:CN115904998A
公开(公告)日:2023-04-04
申请号:CN202211587201.7
申请日:2022-12-09
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明是一种基于发生序关系规则的Node.js应用程序数据竞争检测方法,属于计算机软件技术领域,能够解决当前难以检测Node.js应用中数据竞争的问题。本发明提出了针对Node.js应用的发生序关系(Happens‑Before关系,简称HB关系)规则,将其分为用于不同步骤的三类,并提出了HB关系匹配规则和资源特性匹配规则;首先,本发明利用动态程序分析对被测应用程序进行插桩并收集分析运行数据,提取资源访问情况及事件处理函数间的异步调用HB关系,构建异步调用树;其次,本发明在异步调用树上应用树可达性检测算法检测候选数据竞争;再次,本发明利用HB关系匹配规则和资源特性匹配规则判断候选数据竞争是否为误报;最后,本发明在被测应用退出后输出数据竞争检测报告。