Operation-based, fine-grained version control model for tree-based representation

FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, PROCEEDINGS(2010)

引用 7|浏览0
暂无评分
摘要
Existing version control systems are often based on text line-oriented models for change representation, which do not facilitate software developers in understanding code evolution. Other advanced change representation models that encompass more program semantics and structures are still not quite practical due to their high computational complexity. This paper presents OperV, a novel operation-based version control model that is able to support both coarse and fine levels of granularity in program source code. In OperV, a software system is represented by a project tree whose nodes represent all program entities, such as packages, classes, methods, etc. The changes of the system are represented via edit operations on the tree. OperV also provides the algorithms to differ, store, and retrieve the versions of such entities. These algorithms are based on the mapping of the nodes between versions of the project tree. This mapping technique uses 1) divide-and-conquer technique to map coarse- and fine-grained entities separately, 2) unchanged text regions to map unchanged leaf nodes, and 3) structure-based similarity of the sub-trees to map their root nodes bottom-up and then top-down. The empirical evaluation of OperV has shown that it is scalable, efficient, and could be useful in understanding program evolution.
更多
查看译文
关键词
program evolution,project tree,tree-based representation,code evolution,program source code,program semantics,advanced change representation model,root nodes bottom-up,program entity,divide-and-conquer technique,change representation,fine-grained version control model,bottom up,software development,top down,computational complexity,source code,software systems,version control,version control system,divide and conquer
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要