删除或更新信息,请邮件至freekaoyan#163.com(#换成@)

基于下推自动机的细粒度锁自动重构方法

本站小编 Free考研考试/2022-01-02

摘要:针对粗粒度锁会严重影响并发程序的可伸缩性问题,提出一种面向细粒度锁的自动重构方法.该方法借助访问者模式分析、别名分析、负面效应分析等多种程序分析技术获取临界区代码的读写模式,然后使用下推自动机构建不同锁模式的识别方法,根据识别结果进行代码重构.与以往锁重构方法的不同之处在于,该方法考虑了锁降级模式,使重构适用性更广.基于此方法,在Eclipse JDT框架下,以插件的形式实现了自动重构工具FLock.在实验中,从重构个数、改变的代码行数、重构时间、准确性和重构后程序性能等方面对FLock进行了评估,并与已有的重构工具Relocker和CLOCK进行了对比.对HSQLDB,Jenkins和Cassandra等11个大型实际应用程序的重构结果表明:FLock共重构了1 757个内置监视器对象,每个程序重构平均用时17.5s.该重构工具可以有效地实现粗粒度锁到细粒度锁的转换,与手动重构相比,有效提升了细粒度锁的重构效率.



Abstract:As coarse-grained locks have a negative impact on the scalability of concurrent programs, this study proposes an automatic refactoring approach to convert a coarse-grained lock into a fine-grained one. Several static analyses, such as visitor pattern analysis, alias analysis, and side-effect analysis are employed in this approach. The read and write pattern of a critical section is inferred by side effect analysis, and then a push down automaton is proposed to identify the read and write pattern. Finally, refactoring is conducted based on these results. An automatic tool FLock is implemented as the Eclipse plug-in. The proposed approach is evaluated by eleven open-source projects including HSQLDB, Jenkins, and Cassandra, by presenting results such as the number of refactored locks, changed lines of code, refactoring time, accuracy, program performance after refactoring. FLock is also compared with the existing tools Relocker and CLOCK. The experimental results show that a total of 1757 built-in monitors are refactored and each refactoring takes an average of 17.5 seconds. The experiments reveal that the proposed tool can help developers convert coarse-grained locks into fine-grained locks effectively.



PDF全文下载地址:

http://jos.org.cn/jos/article/pdf/6132
相关话题/程序 代码 实验 技术 方法

  • 领限时大额优惠券,享本站正版考研考试资料!
    大额优惠券
    优惠券领取后72小时内有效,10万种最新考研考试考证类电子打印资料任你选。涵盖全国500余所院校考研专业课、200多种职业资格考试、1100多种经典教材,产品类型包含电子书、题库、全套资料以及视频,无论您是考研复习、考证刷题,还是考前冲刺等,不同类型的产品可满足您学习上的不同需求。 ...
    本站小编 Free壹佰分学习网 2022-09-19
  • 基于GAT2VEC的Web服务分类方法
    摘要:随着SOA技术的发展,Web服务被广泛应用,服务数量增长迅速.正确高效地对Web服务进行分类,对于提高服务发现质量、促进服务组合效率非常重要.然而,现有的Web服务分类技术存在描述文本稀疏、未充分考虑属性信息以及结构关系等问题,难以有效提升Web服务分类的精度.针对此问题,提出一种基于GAT2 ...
    本站小编 Free考研考试 2022-01-02
  • 案件要素句子关联图卷积的案件舆情摘要方法
    摘要:案件舆情摘要是从涉及特定案件的新闻文本簇中,抽取能够概括其主题信息的几个句子作为摘要.案件舆情摘要可以看作特定领域的多文档摘要,与一般的摘要任务相比,可以通过一些贯穿于整个文本簇的案件要素来表征其主题信息.在文本簇中,由于句子与句子之间存在关联关系,案件要素与句子亦存在着不同程度的关联关系,这 ...
    本站小编 Free考研考试 2022-01-02
  • 一种基于注意力联邦蒸馏的推荐方法
    摘要:数据隐私保护问题已成为推荐系统面临的主要挑战之一.随着《中华人民共和国网络安全法》的颁布和欧盟《通用数据保护条例》的实施,数据隐私和安全成为了世界性的趋势.联邦学习可通过不交换数据训练全局模型,不会泄露用户隐私.但是联邦学习存在每台设备数据量少、模型容易过拟合、数据稀疏导致训练好的模型很难达到 ...
    本站小编 Free考研考试 2022-01-02
  • 基于动态赋权近邻传播的数据增量采样方法
    摘要:数据采样是快速提取大规模数据集中有用信息的重要手段,为更好地应对越来越大规模的数据高效处理要求,借助近邻传播算法的优异性能,通过引入分层增量处理和样本点动态赋权策略,实现了一种能够非常有效地平衡处理效率和采样质量的新方法.其中的分层增量处理策略考虑将原始的大规模数据集进行分批处理后再综合;而样 ...
    本站小编 Free考研考试 2022-01-02
  • 一种基于MDARNet的低照度图像增强方法
    摘要:由于低照度环境下所采集的图像存在亮度低、对比度差、出现噪声和色彩失衡等低质问题,严重影响其在图像处理应用中的性能.为了提升低照度图像质量,以获得具有完整结构和细节且自然清晰的图像,结合Retinex理论与卷积神经网络,提出了一种基于MDARNet的低照度图像增强方法,并引入Attention机 ...
    本站小编 Free考研考试 2022-01-02
  • 响应时间约束的代码评审人推荐
    摘要:同行代码评审,即对提交代码进行人工评审,是减少软件缺陷和提高软件质量的有效手段,已被Github等开源社区以及很多软件开发组织广泛采用.在GitHub社区,代码评审是其pull-based软件开发模型的重要组成部分.开源项目往往存在成百上千个候选评审人员,为评审工作推荐合适的评审人员是一项很有 ...
    本站小编 Free考研考试 2022-01-02
  • 编程现场上下文深度感知的代码行推荐
    摘要:在软件开发的编程现场,有大量与当前开发任务相关的信息,比如代码上下文信息、用户开发意图等.如果能够根据已有的编程现场上下文给开发人员推荐当前代码行,不仅能够帮助开发人员更好地完成开发任务,还能提高软件开发的效率.而已有的一些方法通常是进行代码修复或者补全,又或者只是基于关键词匹配的搜索方法,很 ...
    本站小编 Free考研考试 2022-01-02
  • 面向数据特征的人机物融合服务分派方法
    摘要:随着工业互联网的不断发展,大数据和人工智能促成了人机物全面互联.用户使用服务时产生的任务数据量正呈指数级增长,在为线上用户推荐服务满足个性化需求的同时,对于需要通过人机物交互完成的服务,如何整合线上和线下资源,并分派合适的人快速、有效地完成任务,也已成为一个挑战性问题.为了保证服务分派的准确性 ...
    本站小编 Free考研考试 2022-01-02
  • 面向频繁项集挖掘的本地差分隐私事务数据收集方法
    摘要:事务数据常见于各种应用场景中,如购物记录、页面浏览历史等.为了提供更好的服务,服务提供商收集用户数据并进行分析,但收集事务数据会泄露用户的隐私信息.为了解决上述问题,基于压缩的本地差分隐私模型,提出一种事务数据收集方法.首先,定义了一种新的候选项集分值函数;其次,基于该函数,将候选项集的样本空 ...
    本站小编 Free考研考试 2022-01-02
  • 航天嵌入式软件整数溢出的形式化验证方法
    摘要:整数溢出引起的软件系统安全性问题屡见不鲜,已有的模型检测技术由于存在状态空间爆炸、不能有效支持中断驱动型程序检测等缺点而少有工程应用.结合真实案例,对航天嵌入式软件整数溢出问题的分布和特征进行了系统性的分析.在有界模型检测技术的基础上,结合整数溢出特征,提出了基于整数溢出变量依赖的程序模型约简 ...
    本站小编 Free考研考试 2022-01-02