一种代码图片的可视化展示实现方法及装置

文档序号:34672098发布日期:2023-07-05 17:01阅读:26来源:国知局
一种代码图片的可视化展示实现方法及装置

本发明涉及软件工程,具体涉及一种代码图片的可视化展示实现方法及装置。


背景技术:

1、在以数据结构与算法分析为首的教科书中,经常出现不易理解的代码。以往,学生在阅读此类书籍时,由于教科书中的代码为静态的文字,学生们对于教科书中的代码具体是如何运行会产生疑问,只能采用手动方式将书中代码在电脑上实际敲打出来以运行。例如,学生不理解教科书上一个排序的算法,只能手动将代码实现并设计测试用例带入该算法函数,并查看运行结果。

2、然而,上述实现方式对于学生理解代码还是效果不佳,主要原因是:(1)对于运行时代码的执行顺序不了解;(2)对于代码运行时(例如进行排序)各项参数的变动没办法掌握;(3)手动敲打代码方式极为耗时。


技术实现思路

1、针对现有技术中存在的缺陷,本发明的目的在于提供一种代码图片的可视化展示实现方法及装置,能够有效帮助用户增进对于代码图片中代码片段的理解,简化了用户实现代码的流程。

2、为达到以上目的,本发明提供的一种代码图片的可视化展示实现方法,具体包括以下步骤:

3、基于光学字符识别方式识别得到代码图片中的代码,并对识别得到的代码进行纠错处理;

4、基于代码格式化工具对代码进行格式化处理,并采用绘图工具将格式化后的代码制作成代码图片;

5、对格式化后的代码进行插桩处理,并采用测试用例产生工具对插桩后的代码产生测试用例;

6、运行测试用例,并采用特定显示方式对代码运行顺序进行展示,同时展示代码运行阶段的数值信息。

7、在上述技术方案的基础上,所述对识别得到的代码进行纠错处理,具体为:

8、基于启发式规则对代码进行纠错处理,以将光学字符识别时识别的错误字符替换为正确字符。

9、在上述技术方案的基础上,所述代码图片中,代码间采用等宽字体。

10、在上述技术方案的基础上,所述对格式化后的代码进行插桩处理,具体步骤包括:

11、采用源代码分析和转换工具对代码进行遍历,在每个语句前后插入打印该代码位置编号以及其参数值的代码。

12、在上述技术方案的基础上,所述在每个语句前后插入打印该代码位置编号以及其参数值的代码,具体为:

13、对于非循环的所有语句,在语句前插入打印该语句行编号的代码;

14、对于循环语句,则在语句前插入打印该循环开始与结束位置的代码;

15、对于赋值语句、初始值语句,以及输入特定参数名的调用函数语句,则另外在语句后插入打印该值的代码。

16、在上述技术方案的基础上,

17、在采用源代码分析和转换工具对代码进行遍历的同时,获取当前代码区块的位置信息;

18、所述位置信息包括代码起始行与结束字元编号,以及代码结束行与结束字元编号。

19、在上述技术方案的基础上,在采用测试用例产生工具对插桩后的代码产生测试用例时,在产生的测试用例中限制代入源代码的参数。

20、在上述技术方案的基础上,当采用测试用例产生工具对插桩后的代码产生测试用例之后,还包括:

21、采用源代码分析和转换工具遍历测试用例,判断测试用例中被测函数的参数是否完整,以挑选得到具备预设可视化理解效果的测试用例。

22、在上述技术方案的基础上,所述数值信息包括代码行编号、循环语句位置编号和代码中各项参数的数值。

23、本发明提供的一种代码图片的可视化展示实现装置,包括:

24、识别模块,其用于基于光学字符识别方式识别得到代码图片中的代码,并对识别得到的代码进行纠错处理;

25、第一处理模块,其用于基于代码格式化工具对代码进行格式化处理,并采用绘图工具将格式化后的代码制作成代码图片;

26、第二处理模块,其用于对格式化后的代码进行插桩处理,并采用测试用例产生工具对插桩后的代码产生测试用例;

27、执行模块,其用于运行测试用例,并采用特定显示方式对代码运行顺序进行展示,同时展示代码运行阶段的数值信息。

28、与现有技术相比,本发明的优点在于:能够有效帮助用户增进对于代码图片中代码片段的理解,简化了用户实现代码的流程,使得用户不必手动输入并实现代码,简化了用户理解代码的流程,自动产生测试用例带入代码图片中代码片段,自动产生可视化展示代码的运行语句顺序与相对应参数值的变化,具有自动化、低成本、易于理解等特点。



技术特征:

1.一种代码图片的可视化展示实现方法,其特征在于,具体包括以下步骤:

2.如权利要求1所述的一种代码图片的可视化展示实现方法,其特征在于,所述对识别得到的代码进行纠错处理,具体为:

3.如权利要求1所述的一种代码图片的可视化展示实现方法,其特征在于:所述代码图片中,代码间采用等宽字体。

4.如权利要求3所述的一种代码图片的可视化展示实现方法,其特征在于,所述对格式化后的代码进行插桩处理,具体步骤包括:

5.如权利要求4所述的一种代码图片的可视化展示实现方法,其特征在于,所述在每个语句前后插入打印该代码位置编号以及其参数值的代码,具体为:

6.如权利要求4所述的一种代码图片的可视化展示实现方法,其特征在于:

7.如权利要求1所述的一种代码图片的可视化展示实现方法,其特征在于:在采用测试用例产生工具对插桩后的代码产生测试用例时,在产生的测试用例中限制代入源代码的参数。

8.如权利要求7所述的一种代码图片的可视化展示实现方法,其特征在于,当采用测试用例产生工具对插桩后的代码产生测试用例之后,还包括:

9.如权利要求1所述的一种代码图片的可视化展示实现方法,其特征在于:所述数值信息包括代码行编号、循环语句位置编号和代码中各项参数的数值。

10.一种代码图片的可视化展示实现装置,其特征在于,包括:


技术总结
本发明公开了一种代码图片的可视化展示实现方法及装置,涉及软件工程技术领域,该方法包括基于光学字符识别方式识别得到代码图片中的代码,并对识别得到的代码进行纠错处理;基于代码格式化工具对代码进行格式化处理,并采用绘图工具将格式化后的代码制作成代码图片;对格式化后的代码进行插桩处理,并采用测试用例产生工具对插桩后的代码产生测试用例;运行测试用例,并采用特定显示方式对代码运行顺序进行展示,同时展示代码运行阶段的数值信息。本发明能够有效帮助用户增进对于代码图片中代码片段的理解,简化了用户实现代码的流程。

技术研发人员:玄跻峰,彭钰荃,丁正杰
受保护的技术使用者:武汉大学
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1