Computer Software
Print ISSN : 0289-6540
Aids for Refactoring Understanding with Extended Operation History Graph
Takayuki OMORIAtsushi OHNISHI
Author information
JOURNAL FREE ACCESS

2023 Volume 40 Issue 1 Pages 1_97-1_116

Details
Abstract

An operation history which was recorded in source code editing enables us to understand past source code changes more precisely. However, since it is laborious to investigate each edit operation in such a history, more efficient method for understanding a program change history is required. To generate a change history which is more abstract and easy-to-understand, we previously proposed an operation history graph called OHG, which is derived from recorded operation histories. In this paper, we propose FOHG, which is an extended version of OHG. FOHG can contain the entire abstract syntax trees (ASTs) which are obtained by parsing code snapshots after each edit operation, while OHG omits the code structure in methods. In this paper, we describe the structure of FOHG and a method for graph generation. Moreover, we explain the result of an experiment where we evaluated how precisely FOHG can represent past refactoring operations since understanding refactoring is considered significant in code change understanding. The result shows effectivity of our method for both automated and manual refactorings. Our method can detect more various refactorings than existing refactoring detection tools using operation histories. Understanding manual refactoring can also be supported by using edges which are generated when cut-and-paste operations and changing a part of a token are performed.

Content from these authors
© 2023, Japan Society for Software Science and Technology
Previous article Next article
feedback
Top