Collaborative Debugging via Synchronized GUI Position Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current debugging systems lack effective collaboration tools for multiple users to simultaneously debug computer programs, failing to adequately account for the multi-dimensional aspects of program execution and code positioning, which hinders efficient identification and resolution of bugs.
Innovation Solution
A system and method that utilize two graphical user interfaces on separate or the same device to display temporal and code positioning data, allowing users to collaborate by viewing each other's temporal and code positions, with a server managing debugging data and providing access to a debugger, enabling real-time feedback and comment sharing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple users debug a program simultaneously using separate debugger instances, then collaborative debugging capability is improved, but synchronization of user positions (temporal and code location) deteriorates
Solution Approach 1:
The patent introduces a server as an intermediary that centralizes the storage and management of debugging data, including temporal positions and code locations of multiple users. This mediator coordinates all user sessions, allowing them to view and navigate the program execution together without direct peer-to-peer synchronization complexity.
Solution Approach 2:
The patent combines multiple debugger instances and their associated user positions into a single unified debugging session managed by the server. This merging allows all users to share the same debugging context, temporal position, and code location information, enabling collaboration while maintaining synchronization through a single source of truth.
2Device complexity
If a single debugger instance is used for collaborative debugging, then synchronization of user positions is improved, but user access control and security deteriorate
Solution Approach 1:
The patent segments user access control by assigning different permission levels to different users of the same debugger instance. The server can grant or revoke access rights for specific users, allowing fine-grained security control while maintaining a unified debugging session for synchronization.
3Speed
If debugger data is stored locally on each user device, then access speed is improved, but data consistency and collaboration capability deteriorate
Solution Approach 1:
The server acts as an intermediary that stores debugging data centrally while allowing users to access it remotely. This approach balances data consistency (single source of truth) with collaboration capability (multiple access points), using network communication to bridge the speed gap between local and centralized storage.
Data Source
AI summary
There is provided a system for debugging a computer program comprising computer readable program code. The system comprises, debugging data indicating an execution of the computer program, first and second user devices, configured to display a first and second graphical user interface respectively, each graphical user interface comprising data indicative of an execution of a debugger processing the debugging data. The first and second graphical user interfaces are each configured to display data indicative of a temporal position of the execution of the computer program associated with the other one of said graphical user interfaces, and display data indicative of a position within the computer readable program code associated with the other one of said graphical user interfaces.


