Code Reading Support via Already Read Graph
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In large-scale software development, deciphering source code is difficult due to complex structures, and existing tools struggle to distinguish already read and unread parts of functions or class diagrams, leading to inefficiencies in code reading and collaboration among developers.
Innovation Solution
A code reading supporting device that includes a code information storage, user operation storage, and an already read graph generator, which analyzes source code to identify function and code block information, tracks user interactions, and generates an already read graph to visually differentiate read and unread sections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If code reading is performed by viewing source code on display or printed sheet, then code reading can be performed, but work of deciphering source code becomes difficult and requires high skill when software becomes large in scale
Solution Approach 1:
The patent segments the complex source code into functions and further into code blocks, creating a hierarchical structure that can be managed and understood in smaller units. The calling relationship diagram divides the large-scale software into discrete function nodes, making the overall structure comprehensible.
Solution Approach 2:
The patent introduces a calling relationship diagram as an intermediary visual representation between the raw source code and the reader's understanding. This diagram serves as a mediator that simplifies the complex code structure into readable visual form.
2Ease of operation
If calling relationship of functions is displayed in diagram, then code reading is supported, but it cannot be confirmed which part of the function is already read and which part is unread
Solution Approach 1:
The patent applies local quality by differentiating the visual representation of code blocks based on their reading status. Read code blocks are displayed with one visual characteristic (e.g., shaded or highlighted), while unread code blocks display differently, allowing local differentiation within the overall diagram.
Solution Approach 2:
The patent uses color or visual state changes to indicate the reading status of code blocks. By changing the visual appearance of code blocks based on whether they have been read, the system maintains information about reading progress while preserving ease of code reading.
3Productivity
If execution path is displayed on UML class diagram or sequence diagram, then debugging is supported, but it cannot be discriminated which part of the class diagram is already read and which part is unread
Solution Approach 1:
The patent applies local quality by differentiating the visual representation of code blocks based on their reading status. Read code blocks are displayed with one visual characteristic (e.g., shaded or highlighted), while unread code blocks display differently, allowing local differentiation within the overall diagram.
Solution Approach 2:
The patent uses color or visual state changes to indicate the reading status of code blocks. By changing the visual appearance of code blocks based on whether they have been read, the system maintains information about reading progress while preserving ease of code reading.
4Productivity
If plurality of workers share code reading, then large-scale code can be reviewed, but confirming progress or sharing contents understood by each member becomes difficult
Solution Approach 1:
The patent implements feedback by automatically tracking and recording which code blocks have been read by each worker. This reading status information is fed back to the system and can be shared among multiple workers, allowing them to see what has already been reviewed and avoid redundant work.
Solution Approach 2:
The patent creates a visual copy or representation of the code structure with reading status markers that can be shared among multiple workers. This copied visual representation with embedded status information allows team members to understand each other's progress without directly observing their work.
Data Source
AI summary
According to one embodiment, a code information storage is configured to store information on a plurality of functions, a calling relationship between the plurality of functions, and code blocks in the respective plurality of functions. A user operation storage is configured to store information of an already read code block. An already read graph generator is configured to generate an already read graph expressing an already read function including the already read code block, all the code blocks included in the already read function, and a calling relationship between the already read code block and the already read function. An expression of the already read code block differs from an expression of the other code block.


