计算机科学与探索 ›› 2013, Vol. 7 ›› Issue (5): 451-459.DOI: 10.3778/j.issn.1673-9418.1209005
陶彬贤,张 磊,钱 巨+
TAO Binxian, ZHANG Lei, QIAN Ju+
摘要: 许多并发程序存在同步粒度过粗的问题,可以通过锁分解等代码重构来逐步演化同步结构,提高程序并行性。然而,手工重构一方面识别重构契机较为困难,另一方面代码转换也容易出错。为克服手工重构中存在的问题,提出了一种针对Java程序的自动锁分解重构方法。它可以根据已有的同步代码,自动识别锁分解重构契机,并对相关代码进行转换。实验表明,该方法可以有效识别真实程序中的可重构代码,并准确实施转换,为并发程序的演化提供支持。