Build Manifest Compare
Original Publication Date: 2005-Nov-28
Included in the Prior Art Database: 2005-Nov-28
Disclosed is an idea for a tool with which software engineers can easily validate their builds and installation media.
Build Manifest Compare
In the process of developing and testing software products, it is often necessary and desirable to validate the resulting product files of one particular build with those of another. It might also be desirable to do the same with a set of source code files, or with a set of files that represents an installed product. This is necessary to monitor the breadth and depth of changes in the resulting executables and ancillary files, if any, to ward against any unexpected or unwanted changes.
Very often this kind of testing is limited to examining the contents of the files in question to see if any changes have taken place. This is a time-consuming, space-consuming and incomplete solution, that...
1) Is not designed with software development and testing in mind.
2) Requires full, real-time access to both sets of files being compared; costing time in the comparison process, and disk space in the simultaneous storage of both sets of files.
3) Does not report differences in sizes AND checksums, modification dates and access permissions of individual elements.
4) Does not report missing or unexpected elements.
5) Does not validate file dependencies.
6) Does not check registry entries.
7) Is not platform independent.
The tool described here generates, for a given set of files (or "build," or "installation"), a single manifest file that contains pertinent information about each element in the set. The manifest can be stored and referenced more easily than the set of files it represents, and can be compared to other manifests to monitor any changes between sets of files. By "changes," what is meant is checksums, sizes, modification dates, missing files, new files, file dependencies, etc.
By representing an entire set of files, and all its pertinent data, with just a single file, one eliminates the storage, access and time overhead incurred by the traditional, brute-force methods normally required to interactively compare one set of files with another. Furthermore, the tool described here has the added benefit of being designed with build and media verification testing in mind, so file dependencies and registry settings can be included as part of the vital data that make up a file manifest.
To achieve the goal of providing a tool with which software engineers can easily validate...