Interactive on line code inspection process and tool
First Claim
1. A machine executable code inspection process for inspecting a quantity of pre-written code simultaneously by a plurality of users each provided with a corresponding respective graphical user interface, the inspection process comprising the steps of:
- in putting said pre-written code from an external source, and storing said code in a memory area;
displaying simultaneously said code on at least two visual display devices corresponding to said graphic user interface;
in response to inputs from said corresponding respective graphical user interface, modifying individual lines of said code; and
for each modified line of code;
simultaneously displaying on said visual display devices said pre-written code and modified code and at least one respective icon identifying said line of code.
14 Assignments
0 Petitions
Accused Products
Abstract
A code inspection tool comprises a plurality of physical computing resources connected by a network facility, eg an LAN, intranet or internet, and a voice conferencing communications facility. The code inspection tool interfaces with a known configuration management system to load a quantity of original source code. A group of developers use a plurality of graphical user interfaces to inspect the code. All graphical user interfaces log into display views generated on a main graphical user interface, which is operated by a human controller of a code inspection session. The code inspection tool comprises means for allowing developers to compile annotation data and forward the annotation data from their respective graphical user interfaces to a centralized data store. Internal algorithms of the code inspection tool compile markers relating the annotation data files to individual lines of source code. During a code inspection session, all developers view a same display, which sets out original source code, side by side with new source code on a line by line basis, matching the line numbers of the original source code with those of the new source code. Changes to the original source code and new source code are visually identified by automatic generation of icons next to the appropriate source code lines on the display. Annotations to the source code lines are indicated by further icons next to the appropriate lines. The tool automatically generates data describing statistics of a code inspection process, for example number of lines inspected, during of a code inspection session, proportion of original and new code lines inspected. Code inspection reports may be generated in a variety of formats, eg plain text or HTML, and automatically distributed to individual developers over the networked facility.
-
Citations
23 Claims
-
1. A machine executable code inspection process for inspecting a quantity of pre-written code simultaneously by a plurality of users each provided with a corresponding respective graphical user interface, the inspection process comprising the steps of:
-
in putting said pre-written code from an external source, and storing said code in a memory area;
displaying simultaneously said code on at least two visual display devices corresponding to said graphic user interface;
in response to inputs from said corresponding respective graphical user interface, modifying individual lines of said code; and
for each modified line of code;
simultaneously displaying on said visual display devices said pre-written code and modified code and at least one respective icon identifying said line of code.- View Dependent Claims (2, 3, 4, 5, 6)
replicating said code and storing said replicated code in a second memory area;
displaying said pre-written code and said replicated code on a same screen display of said visual display devices.
-
-
3. The process as claimed in claim 1, comprising the steps of:
-
counting a number of said modified code lines;
producing data describing a number of said modified code lines.
-
-
4. The process as claimed in claim 1, comprising the steps of:
-
inputting a start session signal;
activating a timer in response to said start session signal;
stopping said timer in response to a stop session signal;
generating a session time signal corresponding to a time difference between said start session signal and said stop session signal.
-
-
5. The process as claimed in claim 1, comprising the step of:
generating data describing a rate of inspection of said code.
-
6. The process as claimed in claim 1, comprising the steps of:
generating a report output data describing a result of a code inspection.
-
7. A machine executable process for recording details of a code inspection session by a plurality of users, said process comprising the steps of:
-
inputting code comprising a plurality of codes lines;
displaying simultaneously said plurality of code lines on at least two visual display devices corresponding to said plurality of users;
inputting modifications to said code to produce modified codes;
displaying said modified code with said code simultaneously on said visual display devices; and
generating a data describing said modified code. - View Dependent Claims (8, 9, 10, 11, 12)
inputting annotation data describing annotations to said code lines;
storing said annotation data to a memory device; and
displaying said annotation data on said visual display devices.
-
-
10. The process as claimed in claim 7, wherein said step of generating data describing said modified code comprises generating data describing an amount of annotations of said modified code.
-
11. The process as claimed in claim 7, wherein said step of generating data describing said modified code comprises generating data describing an amount of code lines modified during said code inspection session.
-
12. The method as claimed in claim 7, further comprising the step of recording a time taken to modify said code.
-
13. A code inspection tool for facilitating inspection of code comprising a plurality of code lines, said tool being executable by a machine comprising at least one data processing means, at least one data storage means, and a plurality of graphical user interfaces having visual display devices, said tool comprising:
-
an interface means for interfacing with a code development tool for input and output of said code;
a display generation means for generating a plurality of displays of said code for simultaneous display on at least two of said visual display devices;
means for inputting modifications to said code to produce modified code;
means for displaying said modified code with said code simultaneously on said visual display devices;
a monitoring means for monitoring a result of a code inspection process; and
a report data generation means for generating a report describing a code inspection session. - View Dependent Claims (14, 15, 16)
-
-
17. A code inspection process for inspecting a quantity of original source code by a plurality of users each provided with a corresponding respective graphical user interface, said inspection process comprising the steps of.
at a plurality of said graphical user interfaces, simultaneously generating a display of original source code; -
at individual ones of said graphical user interfaces, entering annotation data describing annotations to said source code, each said annotation indentifying a line number of said source code;
sending said annotation data to a data storage device and storing said annotation data;
generating simultaneously a source code display on each of said graphical user interfaces, said source code display comprising a first display area for display of original source code, and a second display area for display of replicated source code;
at each graphical user interface, scrolling said corresponding respective source code display such that all said source code displays are scrolled simultaneously and show a same common view;
interrupting said scrolling process for entry of annotation data relating to source code displayed during said scrolling process;
storing said annotation data entered during said interruptions; and
terminating said scrolling process. - View Dependent Claims (18, 19, 20, 21, 22, 23)
for each line of code scrolled, incrementing a line counter recording data describing a quantity of said scrolled lines; and
storing said scroll count data to a report file.
-
-
19. The process a s claimed in claim 17, further comprising the step of:
-
for each said annotation data entered, incrementing a counter describing a count of said annotations; and
storing said annotation count data to a report file.
-
-
20. The process as claimed in claim 17, comprising the step of:
- generating a report file containing data describing;
data identifying a plurality of human operators;
data describing a plurality of source code files;
data describing an amount of new code lines in each of said source code files;
data describing a proportion of original source code lines and new source code lines changed;
data describing a number of annotation comments.
- generating a report file containing data describing;
-
21. The process as claimed in claim 20, wherein said data further comprises:
-
data describing a type of annotation data; and
an amount of annotations of each of said types.
-
-
22. The process as claimed in claim 17, comprising the step of:
-
identifying source code lines having errors which affect overall operation of said source code; and
storing annotation data describing said operation affecting errors.
-
-
23. The process as claimed in claim 17, further comprising the step of:
- timing said code inspection session.
Specification