Browse Prior Art Database

Language-gnostic delta review by invocation/stack order

IP.com Disclosure Number: IPCOM000234596D
Publication Date: 2014-Jan-21
Document File: 2 page(s) / 28K

Publishing Venue

The IP.com Prior Art Database

Abstract

This invention describes a code reviewing tool with integrated difference engine whereby the sequence of the review is based on the programmatic flow associated with the code being changed, rather than on an arbitrary linear sequence of files and their contents.

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

Page 01 of 2

Language-gnostic delta review by invocation/stack order

In a software development process, a change set often touches multiple procedures in multiple files, even if the change is only for a single defect or feature.

Existing industry standard code review tools iterate over the files in a change set, displaying the changes made for each file. In a typical review tool, changes are visualized by displaying a side-by-side view of the original and changed versions of the file, with differences highlighted. Often the differences are color-coded as to whether the delta was an addition, deletion, or modification.

A typical difference ("diff") tool has some understanding of raw textual context. That is, it can recognize chunks that have not changed in order to display a concise, minimalistic view of the actual differences. Such tools support simple navigation mechanisms whereby you can jump to the "next" or "previous" difference - linearly within a single file - or to the next or previous file in the sequence. What the typical diff tool lacks, however, is an understanding of the syntax of the file(s) being changed. Consequently, the reviewer must "remember where she is" in the often orthogonal dimension of logic flow and attempt to correlate disparate or distant changes according to that flow.

Meanwhile, modern integrated development environments (IDEs) have been developing a high degree of language sensitivity in their source editors. For programming languages, static analysis tools are able to trace potential functional flows through any number of conditions and invocation frames (call stacks) from one function to another.

What is missing is the integration of these two worlds.

This invention describes a code reviewing tool with integrated difference engine whereby the sequence of the review is based on the programmatic flow associated with the code being changed, rather than on an arbitrary linear sequence of files and their contents.

The invention comprises an integrated code review tool which

o Uses static analysis techniques known in the art to determine the logic flow associated with the specific procedures aff...