System for estimating a software product release time from version information
First Claim
1. A computer-implemented method for estimating a creation time for a version of a software project, the version comprising a plurality of software components and at least some of said software components being available in two or more versions with only one version of a software component being included in a software project version, the method comprising:
- (A) determining a first set of two or more software component versions and a second set of two or more software component versions, the first set of two or more software component versions comprising versions of software components which are included in the version of the software project and the second set of two or more software component versions comprising later versions of the software components, wherein at least one software component version in the first set is not present in the second set;
(B) via at least one processor, examining the creation times of the software component versions of the first set and the second set to determine the creation time for the version of the software project by(B1) comparing the creation times for each software component which has a version in each of the first set and the second set, and(B2) selecting as the estimated creation time for the version of the software project that time which is the latest of the component creation times of versions of software components in the first set of two or more software component versions which is not later than a component creation time of a corresponding version of the software component in the second set of two or more software component versions.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and processes for migration of data stored in a label-based software configuration management (CM) system to records of a time-based CM system in a manner that permits for identification, in the time-based system, of contents of releases. In some exemplary implementations, techniques operating according to some of the principles described herein will accept as input information relating to a listing of a label-based system and estimate, based on the software component versions in the listing and their corresponding creation times, a release time indicating a time a release was created. The release time may then be used, in some, but not necessarily all, implementations to create a data structure in the time-based system indicating contents of the version at the particular time. Some exemplary implementations may additionally determine, from the estimated release time, whether any software component versions should be explicitly included or excluded from the data structure.
99 Citations
37 Claims
-
1. A computer-implemented method for estimating a creation time for a version of a software project, the version comprising a plurality of software components and at least some of said software components being available in two or more versions with only one version of a software component being included in a software project version, the method comprising:
-
(A) determining a first set of two or more software component versions and a second set of two or more software component versions, the first set of two or more software component versions comprising versions of software components which are included in the version of the software project and the second set of two or more software component versions comprising later versions of the software components, wherein at least one software component version in the first set is not present in the second set; (B) via at least one processor, examining the creation times of the software component versions of the first set and the second set to determine the creation time for the version of the software project by (B1) comparing the creation times for each software component which has a version in each of the first set and the second set, and (B2) selecting as the estimated creation time for the version of the software project that time which is the latest of the component creation times of versions of software components in the first set of two or more software component versions which is not later than a component creation time of a corresponding version of the software component in the second set of two or more software component versions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method for converting a software project from a label-based system for use in a time-based system and determining which versions of software components to include in a version of the software project in the time-based system, each version of the software project comprising a plurality of said software components in some combination of versions, the method comprising:
-
(A) examining a first set of software component versions for two or more software components included in the version of the software project and a second set of later versions of the two or more software components to determine component creation times for each of the software component versions in the first set and the second set, wherein at least one software component version in the first set is not present in the second set; (B) via at least one processor, determining a creation time for the version of the software project by comparing the creation times for each software component which is present in both the first set and the second set; (C) recording in a data structure the creation time for the version of the software project determined in act (B); and (D) determining if any software component versions included in the version of the software project in the label-based system were created after the creation time determined in act (B) and, if so, recording in the data structure indications that the software component versions so determined are included in the version of the software project. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. At least one non-transitory computer storage medium encoded with computer-executable instructions which, when executed, carry out a method for estimating a creation time for a version of a software project, the version comprising a plurality of software components and at least some of said software components being available in two or more versions with only one version of a software component being included in a software project version, the method comprising:
-
(A) determining a first set of two or more software component versions and a second set of two or more software component versions, the first set of two or more software component versions comprising versions of software components which are included in the version of the software project and the second set of two or more software component versions comprising later versions of the software components, wherein at least one software component version in the first set is not present in the second set; (B) examining the creation times of the software component versions of the first set and the second set to determine the creation time for the version of the software project by (B1) comparing the creation times for each software component which has a version in each of the first set and the second set, and (B2) selecting as the estimated creation time for the version of the software project that time which is the latest of the component creation times of versions of software components in the first set of software component versions which is not later than a component creation time of a corresponding version of the software component in the second set of software component versions. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. At least one non-transitory computer storage medium encoded with computer-executable instructions which, when executed, carry out a method for migrating a software project from a label-based system for use in a time-based system and determining which versions of software components to include in a version of the software project in the time-based system, each version of the software project comprising a plurality of said software components in some combination of versions of the software components, the method comprising:
-
(A) examining a first set of software component versions for two or more software components included in the version of the software project and a second set of later versions of the two or more software components to determine component creation times for each of the software component versions in the first set and the second set, wherein at least one software component version in the first set is not present in the second set; (B) determining a creation time for the version of the software project by comparing the creation times for each software component which is present in both the first set and the second set; (C) recording in a computer-readable data structure the creation time for the version of the software project determined in act (B); and (D) determining if any software component versions included in the version of the software project in the label-based system were created after the creation time determined in act (B) and, if so, recording in the data structure indications that the software component versions so determined are included in the version of the software project. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34)
-
-
35. An apparatus comprising:
-
at least one non-transitory computer storage medium encoded with computer-executable instructions which, when executed, carry out a method for estimating a creation time for a version of a software project, the version comprising a plurality of software components and at least some of said software components being available in two or more versions with only one version of a software component being included in a software project version, the method comprising; (A) determining a first set of two or more software component versions and a second set of two or more software component versions, the first set of two or more software component versions comprising versions of software component versions which are included in the version of the software project and the second set of software components comprising later versions of the software components, wherein at least one software component version in the first set is not present in the second set; (B) examining the creation times of the software component versions of the first set and the second set to determine the creation time for the version of the software project by (B1) comparing the creation times for each software component which has a version in each of the first set and the second set, and (B2) selecting as the estimated creation time for the version of the software project that time which is the latest of the component creation times of versions of software components in the first set of two or more software component versions which is not later than a component creation time of a corresponding version of the software component in the second set of two or more software component versions; and at least one processor to execute the method.
-
-
36. An apparatus comprising:
-
at least one non-transitory computer storage medium encoded with computer-executable instructions which, when executed, carry out a method for migrating a software project from a label-based system for use in a time-based system and determining which versions of software components to include in a version of the software project in the time-based system, each version of the software project comprising a plurality of said software components in some combination of versions of the software components, the method comprising; (A) examining a first set of software component versions for two or more software components included in the version of the software project and a second set of later versions of the two or more software components to determine component creation times for each of the software component versions in the first set and the second set, wherein at least one software component version in the first set is not present in the second set; (B) determining a creation time for the version of the software project by comparing the creation times for each software component which is present in both the first set and the second set; (C) recording in a data structure the creation time for the version of the software project determined in act (B); and (D) determining if any software component versions included in the version of the software project in the label-based system were created after the creation time determined in act (B) and, if so, recording in the data structure indications that the software component versions so determined are included in the version of the software project; and at least one processor to execute the method.
-
-
37. An apparatus comprising:
-
at least one non-transitory computer storage medium encoded with computer-executable instructions which, when executed, carry out a method for migrating a software project from a label-based system for use in a time-based system and determining which versions of software components to include in a version of the software project in the time-based system, each version of the software project comprising a plurality of said software components in some combination of versions of the software components, the method comprising; (A) examining a first set of software component versions for two or more software components included in the version of the software project and a second set of later versions of the two or more software components included in the version of the software project to determine component creation times for each of the software component versions in the first set and the second set, wherein at least one software component version in the first set is not present in the second set; (B) recording in a data structure a creation time for the version of the software project; and (C) determining if any software component versions included in the version of the software project in the label-based system were created after the creation time and, if so, recording in the data structure indications that the software component versions so determined are included in the version of the software project; at least one processor to execute the method; and means for estimating the creation time for the software project by comparing the creation times for each software component which is present in both the first set and the second set.
-
Specification