[发明专利]一种基于并发控制流图的Java并发程序路径剖析方法有效
申请号: | 201610577045.4 | 申请日: | 2016-07-20 |
公开(公告)号: | CN106257425B | 公开(公告)日: | 2019-04-09 |
发明(设计)人: | 王璐璐;李必信;廖力;周颖 | 申请(专利权)人: | 东南大学 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 杨晓玲 |
地址: | 211103 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公布了一种基于并发控制流图的Java并发程序路径剖析方法,通过分析Java源码中的线程内控制流关系和线程间的联系(包括线程的创建和各类同步关系),构建Java并发控制流图;在Java并发控制流图上实施并发路径剖析算法,并按照算法结果对Java源码进行插桩,使得插桩后的源码在执行过程中能够生成并发程序的路径剖析结果。 | ||
搜索关键词: | 一种 基于 并发 控制 java 程序 路径 剖析 方法 | ||
【主权项】:
1.一种基于并发控制流图的Java并发程序路径剖析方法,其特征在于,该方法包括如下步骤:步骤1)从Java并发程序源码中获取各个线程内部的控制流结构和线程之间的并发关系;步骤2)首先在各个线程内部的控制流结构的基础之上,按照线程之间的并发关系类型,对不同的并发元素分别做如下处理,最终构建得到并发控制流图:a)对于线程创建关系,增加从线程创建节点到被创建线程入口节点的控制流边;b)对于“通知‑阻塞”的线程同步关系,识别同步控制语句,按照每条同步控制语句的含义,删除线程内部因同步而消失的控制流图结构,增加线程之间因同步而出现的控制流图结构,使得并发控制流图正确表示线程中每条语句的执行先后次序;c)对于FutureGet机制的线程同步关系,则在并发控制流图中增加通知节点到被通知节点的控制流边,并删去被通知节点在线程内部的所有出边;步骤3)在所述步骤2)获得的并发控制流图中实施剖析算法,并将所需探针语句插桩到原并发程序中,保证插桩后的并发程序在任意的执行情况下,每个线程的执行轨迹均由唯一的路径编码标识;步骤4)执行插桩后的程序,在程序执行过程中,通过所插桩的探针语句计算路径编码并统计路径频率,作为最终的剖析结果。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610577045.4/,转载请声明来源钻瓜专利网。