Composite Program History for Version Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Version control systems face challenges in managing a history of changes to a program, particularly in hiding buggy versions that have been fixed, which can lead to negative consequences such as embarrassment and financial losses due to the presence of buggy software in the history.
Innovation Solution
A system and method for maintaining a composite history of changes to a program by generating a revised history that omits versions with bugs, allowing access to both original and revised histories to navigate forward and backward, thereby hiding buggy versions without preventing access when necessary.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a version control system maintains a complete history of all changes including buggy versions, then the history is complete and accurate for debugging and analysis, but buggy versions remain visible causing embarrassment and financial losses
Solution Approach 1:
The patent segments the program history into multiple parallel histories: the original complete history and one or more revised histories. Each revised history selectively omits buggy versions while preserving non-buggy versions. This segmentation allows the system to provide different history views for different purposes - complete history for debugging and revised history for public presentation, thereby resolving the contradiction between maintaining complete history and hiding harmful buggy versions.
2Object-affected harmful factors
If buggy versions are hidden from the program history, then reputation is protected and financial losses prevented, but access to buggy versions is lost when needed for debugging and analysis
Solution Approach 1:
The patent implements dynamic history selection where the system can switch between displaying the revised history (hiding buggy versions) and the original complete history (showing all versions). The interface allows users to dynamically choose which history view to access based on their current needs - using the revised history for public presentations to protect reputation, and switching to the original history when debugging or analyzing bugs is required.
3Object-affected harmful factors
If a revised history omitting buggy versions is created, then the negative impact of buggy software is minimized, but the system complexity increases due to managing multiple parallel histories
Solution Approach 1:
The patent introduces a history management system that acts as an intermediary between the version control database and the user interface. This intermediary automatically manages the creation, storage, and retrieval of multiple parallel histories based on bug information. When a bug is reported, the system automatically generates a revised history omitting the buggy version and stores it alongside the original history. The intermediary handles the complexity of managing multiple histories transparently, allowing users to access appropriate history views without manually managing the complexity.
Data Source
AI summary
A system and methods are disclosed for maintaining a composite history of changes to a program comprising two parallel histories. In accordance with one embodiment, a computer system identifies a first history of changes to a program, and generates a second history of changes to the program based on the first history, where the second history has a final version of the program that is identical to a final version of the program in the first history, and where the second history excludes changes to the program in the first history that introduce an error that is fixed in a subsequent change to the program in the first history, and where the second history includes all other changes to the program in the first history. The computer system then generates a third history of changes to the program that comprises the first history and the second history.


