当前位置: X-MOL 学术Automat. Softw. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Precise semantic history slicing through dynamic delta refinement
Automated Software Engineering ( IF 3.4 ) Pub Date : 2019-06-15 , DOI: 10.1007/s10515-019-00260-8
Yi Li , Chenguang Zhu , Milos Gligoric , Julia Rubin , Marsha Chechik

Semantic history slicing solves the problem of extracting changes related to a particular high-level functionality from software version histories. State-of-the-art techniques combine static program analysis and dynamic execution tracing to infer an over-approximated set of changes that can preserve the functional behaviors captured by a test suite. However, due to the conservative nature of such techniques, the sliced histories may contain irrelevant changes. In this paper, we propose a divide-and-conquer-style partitioning approach enhanced by dynamic delta refinement to produce much smaller semantic history slices. We utilize deltas in dynamic invariants generated from successive test executions to learn significance of changes with respect to the target functionality. Additionally, we introduce a file-level commit splitting technique for untangling unrelated changes introduced in a single commit. Empirical results indicate that these measurements accurately rank changes according to their relevance to the desired test behaviors and thus partition history slices in an efficient and effective manner.

中文翻译:

通过动态 delta 细化精确的语义历史切片

语义历史切片解决了从软件版本历史中提取与特定高级功能相关的更改的问题。最先进的技术结合了静态程序分析和动态执行跟踪来推断一组过度近似的变化,这些变化可以保留测试套件捕获的功能行为。然而,由于这些技术的保守性质,切片的历史可能包含不相关的变化。在本文中,我们提出了一种通过动态增量细化增强的分而治之风格的分区方法,以产生更小的语义历史切片。我们利用连续测试执行生成的动态不变量中的增量来了解与目标功能相关的变化的重要性。此外,我们引入了文件级提交拆分技术,用于解开单个提交中引入的无关更改。实证结果表明,这些测量根据其与所需测试行为的相关性准确地对变化进行排序,从而以高效和有效的方式划分历史切片。
更新日期:2019-06-15
down
wechat
bug