Abstract

摘要—语义历史切片解决了从软件更改历史中识别与特定高级功能相关的更改的问题。 现有的解决方案要么不精确,导致历史切片过大,要么效率低下,需要很长时间才能执行。 在本文中,我们开发了一个通用的历史切片框架,名为 GenSlice,它克服了上述限制。 GenSlice 将现有的历史切片技术和变更历史管理操作(例如将提交拆分为细粒度的变更)抽象为历史转换操作符,从而可以以各种顺序依次应用它们。 我们研究并证明了各种运算符的性质,并设计了一种系统方法来有效地生成对实际目的最优的历史切片。 我们报告了对我们框架的实证评估,证明了它在一组真实案例研究中的有效性。