一句话:提出统一表示与 DIFFBASE 工具,用差分事实存储并查询软件演化历史中的关系与变更知识。
软件在其生命周期中持续演化,开发者在版本控制与问题跟踪系统中积累了大量变更和制品。如何有效存储与查询这些历史知识,是支持软件演化研究的关键问题。本文提出一种统一表示,既抽取同一版本内程序实体间的关系,也抽取版本间的原子变更,从而形成“差分事实”。作者实现了工具集 DIFFBASE,用户可用代数算子、Datalog 或类 SQL 语言组合查询,完成多种演化管理任务。摘要表明该工作已形成工具原型,未来将面向多组件变更的兼容性问题发现,并提升 DIFFBASE 的存储与查询性能。
Software systems evolve continuously during their lifecycle. Developers incrementally introduce new features and fix bugs during the process, leading to lots of changes and artifacts accumulated. Driven by those rich data recorded in version control systems or issue trackers, lots of work has been done to analyze the software histories. In this PhD work, we propose a universal representation to effectively store and query over knowledge extracted from the histories, with the hope of supporting software evolution research. We have created a toolset, named DIFFBASE, to extract both relations between program entities at the same version, as well as atomic changes between versions. Then users can compose queries using algebraic operators, Datalog or an SQL-like language to accomplish several different evolution management tasks. Based on the existing research outcome, possible future work includes utilizing the facts approach in a scalable solution to discovering compatibility issues involving changes of multiple components and improvement on the storage and query performance of DIFFBASE.
DOI 原文 ·
@inproceedings{paperbot6570,
title = {Effectively Analyzing Evolving Software with Differential Facts},
author = {Xiuheng Wu},
booktitle = {ASE},
year = {2021},
doi = {10.1109/ase51524.2021.9678659}
}