TY - GEN
T1 - Visualizing Program Behavior
T2 - 54th IEEE Frontiers in Education Conference, FIE 2024
AU - Li, Ying
AU - Yang, Runze
AU - Gui, Shi Jie
AU - Shi, Peng
AU - Huang, Xuefei
AU - Yang, Da
AU - Zhang, Xiaozhou
AU - Gai, Yiming
N1 - Publisher Copyright:
© 2024 IEEE.
PY - 2024
Y1 - 2024
N2 - This paper aims to address the difficulties faced by novice programmers in grasping code structure and execution flow, improving programming thinking, and pinpointing code errors with accuracy. It proposes providing students with program behavior diagrams based on large language models (LLMs) and visualization techniques to achieve personalized guidance. Specifically, these program behavior diagrams include programming thinking visualization diagrams and code vulnerability visualization diagrams. A programming thinking visualization diagram employs static code analysis to gather code structure information, combined with the structured chain-of-thought method to collectively optimize the LLM. This enables the LLM to explain each interpretable part of the code from top to bottom, detailing the programming concepts, and displaying them on a modularized code structure diagram. The code vulnerability visualization diagram primarily utilizes the fine-tuned LLM, optimizing it based on program analysis and clustering analysis methods to accurately identify vulnerabilities in student code and display them on a code flow diagram. Its feature is to visually display to students the error location, error information, and the impact of errors on program flow, rather than providing the programming answers. Lastly, through experiments and statistical analysis of actual teaching data, this paper serves a demonstration that the enhanced models used in the visualization diagram generation process have a noticeable effect on mainstream LLMs, and that visualization diagrams hold significant value for students at different stages of learning.
AB - This paper aims to address the difficulties faced by novice programmers in grasping code structure and execution flow, improving programming thinking, and pinpointing code errors with accuracy. It proposes providing students with program behavior diagrams based on large language models (LLMs) and visualization techniques to achieve personalized guidance. Specifically, these program behavior diagrams include programming thinking visualization diagrams and code vulnerability visualization diagrams. A programming thinking visualization diagram employs static code analysis to gather code structure information, combined with the structured chain-of-thought method to collectively optimize the LLM. This enables the LLM to explain each interpretable part of the code from top to bottom, detailing the programming concepts, and displaying them on a modularized code structure diagram. The code vulnerability visualization diagram primarily utilizes the fine-tuned LLM, optimizing it based on program analysis and clustering analysis methods to accurately identify vulnerabilities in student code and display them on a code flow diagram. Its feature is to visually display to students the error location, error information, and the impact of errors on program flow, rather than providing the programming answers. Lastly, through experiments and statistical analysis of actual teaching data, this paper serves a demonstration that the enhanced models used in the visualization diagram generation process have a noticeable effect on mainstream LLMs, and that visualization diagrams hold significant value for students at different stages of learning.
KW - Code Analysis
KW - Code Flowchart
KW - Code Vulnerabilities
KW - Computer Education
KW - Large Language Models
KW - Structured Chain-of-thought
UR - https://www.scopus.com/pages/publications/105000661933
U2 - 10.1109/FIE61694.2024.10893082
DO - 10.1109/FIE61694.2024.10893082
M3 - 会议稿件
AN - SCOPUS:105000661933
T3 - Proceedings - Frontiers in Education Conference, FIE
BT - 2024 IEEE Frontiers in Education Conference, FIE 2024 - Proceedings
PB - Institute of Electrical and Electronics Engineers Inc.
Y2 - 13 October 2024 through 16 October 2024
ER -