InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Source code change history with class hierarchy awarness

IP.com Disclosure Number: IPCOM000242962D
Publication Date: 2015-Sep-03
Document File: 1 page(s) / 43K

Publishing Venue

The IP.com Prior Art Database


In software development it is often needed to browse previous versions of source code files to investigate a regression defect or to better understand particular piece of code that has to be improved. The problem is that behavior of a class may depend not only on it's own code, but also on the code of it's superclass or other dependencies called from the class. An engineer who investigates a change of behavior of a class therefore needs to inspect version history of the class' source code as well as code history of it's ancestor classes and other dependencies. Inspecting history of supertypes typically consists of the following actions: viewing class source file change history then using class hierarchy view to navigate to supertype and see it's change history, and so on. This article presents a method to allow engineer inspect the inherited code changes more effectively.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 100% of the total text.

Page 01 of 1

Source code change history with class hierarchy awarness

This article describes an additional Hierarchy History view in addition to History view currently used in IDE.

The view is useful when viewing history of changes for a class ( a source code file of Java class or other classes of an OO language ). In such case, changes in the superclasses are also apparent in the list of changes .

When viewing Hierarchy History, the IDE does the following operations:
1. Get list of superclasses of current class
note: file contains more than one class (anonymous or private classes then include their superclasses too
2. For each of the classes found in step 1 get it's change history
3. Put all changes from step 2 into a single list, remove duplicates (one change could affect multiple files) and sort by time
4. Display all the changes from previous step in the modified History view . There has to be an additional column or other way of indication which of the changes were made to superclass rather then current class. For example there could be a column with the modified file.

Note: if a change modifies both current class and it 's superclass, then the change should be listed just like a normal change to the current class .

Below is a sample embodiment of the invention . In addition to Foo there are also changes to Boo and Bar classes, which are Foo's superclasses: