Method and system to monitor software interface updates and assess backward compatibility
First Claim
1. A method for monitoring updates in a software repository in a multi-author software design environment, comprising:
- constructing a first snapshot of a set of software module source code stored by the software repository at a first point in time, the source code represented by a plurality of objects;
constructing a second snapshot of the set of software module source code stored by the software repository at a second point in time;
comparing the first snapshot with the second snapshot, to detect differences in the source code;
rating each detected difference according to a backward compatibility metric, the backward compatibility metric representing a probability that the detected difference renders a source code attribute of the second snapshot incompatible with a similar source code attribute of the first snapshot;
determining an overall backward compatibility score for the second snapshot, based on the rated differences; and
issuing an alert message to registered authors of the set of software module source code when the overall backward compatibility exceeds a backward compatibility threshold, wherein the alert message is issued only to users associated with objects for which differences are detected.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for monitoring updates to the interface portion of a software library or repository. An embodiment of the invention determines whether detected changes made to the software interface are likely to cause backward compatibility problems. Initially, an embodiment assembles and stores a snapshot of a baseline version of the software interface. Then, an embodiment assembles a snapshot of an updated version of the interface and compares the updated snapshot to the baseline snapshot to detect whether any changes have been made. Any differences between the updated snapshot and the baseline snapshot are rated by an embodiment according to a backward compatibility metric and reported in an alert message to an appropriate user.
-
Citations
32 Claims
-
1. A method for monitoring updates in a software repository in a multi-author software design environment, comprising:
-
constructing a first snapshot of a set of software module source code stored by the software repository at a first point in time, the source code represented by a plurality of objects; constructing a second snapshot of the set of software module source code stored by the software repository at a second point in time; comparing the first snapshot with the second snapshot, to detect differences in the source code; rating each detected difference according to a backward compatibility metric, the backward compatibility metric representing a probability that the detected difference renders a source code attribute of the second snapshot incompatible with a similar source code attribute of the first snapshot; determining an overall backward compatibility score for the second snapshot, based on the rated differences; and issuing an alert message to registered authors of the set of software module source code when the overall backward compatibility exceeds a backward compatibility threshold, wherein the alert message is issued only to users associated with objects for which differences are detected. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for monitoring updates in a software repository in a multi-author software design environment, comprising:
-
a processor configured to construct a first snapshot of a set of software module source code stored by the software repository at a first point in time, the source code represented by a plurality of objects; the processor configured to construct a second snapshot of the set of software module source code stored by the software repository at a second point in time; the processor configured to compare the first snapshot with the second snapshot, to detect differences in the source code; the processor configured to rate each detected difference according to a backward compatibility metric, the backward compatibility metric representing a probability that the detected difference renders a source code attribute of the second snapshot incompatible with a similar source code attribute of the first snapshot; the processor configured to determine an overall backward compatibility score for the second snapshot, based on the rated differences; the processor, in connection with an output device, configured to issue an alert message to registered authors of the set of software module source code when the overall backward compatibility exceeds a backward compatibility threshold, wherein the alert message is issued only to users associated with objects for which differences are detected. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer-readable storage medium encoded with instructions configured to be executed by a processor, the instructions which, when executed by the processor, cause the performance of a method, comprising:
-
constructing a first snapshot of a set of software module source code stored by the software repository at a first point in time, the source code represented by a plurality of objects; constructing a second snapshot of the set of software module source code stored by the software repository at a second point in time; comparing the first snapshot with the second snapshot, to detect differences in the source code; rating each detected difference according to a backward compatibility metric, the backward compatibility metric representing a probability that the detected difference renders a source code attribute of the second snapshot incompatible with a similar source code attribute of the first snapshot; determining an overall backward compatibility score for the second snapshot, based on the rated differences; and issuing an alert message to registered authors of the set of software module source code when the overall backward compatibility exceeds a backward compatibility threshold, wherein the alert message is issued only to users associated with objects for which differences are detected. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A method for monitoring updates in a software repository in a multi-author software design environment, comprising:
-
associating a registered author of the software design environment with a subset of a plurality of software module source code stored by the software repository, the source code defining a plurality of objects, wherein the subset is based on input received from the registered author; constructing a first snapshot of the subset at a first point in time; constructing a second snapshot of the subset at a second point in time; wherein each snapshot includes an aggregation of methods and parameters of the software module source code in the subset, with methods and parameters of any software module referenced by the software module source code in the subset; comparing the first snapshot with the second snapshot, to detect differences in the source code; rating each detected difference according to a backward compatibility metric, the backward compatibility metric representing a probability that the detected difference renders a source code attribute of the second snapshot incompatible with a similar source code attribute of the first snapshot; determining an overall backward compatibility score for the second snapshot, based on the rated differences; and issuing an alert message to the registered author of the subset when the overall backward compatibility exceeds a predetermined threshold set by input from the registered author, the alert message including a list of each rated difference, wherein the alert message is issued only to users associated with objects for which differences are detected.
-
Specification