基于数据结构平台错误代码模式识别.doc

资料分类:计算机信息 上传会员:紫色烟火 更新时间:2022-06-05
需要金币1000 个金币 资料包括:完整论文 下载论文
转换比率:金额 X 10=金币数量, 例100元=1000金币 论文字数:9293
折扣与优惠:团购最低可5折优惠 - 了解详情 论文格式:Word格式(*.doc)

摘要:大学数据结构平台是目前计算机学院用于数据结构课程实验以及学生编程能力训练的一个在线编程平台。从平台运行以来已有大量的代码数据,正确的错误的都有保留。而数据结构则是计算机专业在学习其他专业课之前必须学习的基础专业课程,它影响了学生的整个学习过程,其重要程度不言而喻。教师通过数据平台的自动判题节省了修改代码时间,但是目前平台只能给出一些简单的通过率,以及学生也只能得到少量的错误的信息,比如格式错误,运行超时,答案错误等等的词语提示。既不有利于老师去把握学生的情况,也不利于学生对知识点理解评估。

基于上述情况,有了对平台上存在的错误代码进行分析,从而得出相应的错误模式的想法。在得到错误模式后再将此结果整理反馈给教师,达到辅助教师了解学生典型错误,最终帮助学生学习的目的。本项目主要包括三个部分。第一个部分是整理平台的代码数据,对该平台的错误代码先进行大类型分类,再对特定的答案错误进行小分类,以此对整个项目分析起到数据支撑的作用;第二个部分是分析各种类型的错误的特点,选择相应的分析模式,比如基于抽象语法树节点的识别与匹配。第三个部分是整理相关方法与数据,开发一个网站将数据可视化,方便非开发人员(比如教师)对进行信息的查看。

 

关键词:程序分析;抽象语法树;Clang

 

目录

摘要

Abstract

1 绪论-1

2 相关概念介绍-2

2.1程序分析-2

2.2编译过程与编译器前端-2

2.3 LLVM\Clang-2

2.4 AST(Abstract Syntax Tree)-3

2.5 GCC与Clang-3

3 需求分析-5

3.1可行性分析-5

3.2 功能需求-5

4 关键技术分析-6

4.1 Clang库结构-6

4.2 驱动程序体系结构-6

4.3 Clang静态分析架构-7

4.4 LibTooling使用分析-7

4.5 AST操作分析-8

4.5.1 LibASTMatchers-8

4.5.2 RecursiveASTVisitor-8

5 分析与设计-9

5.1 数据整理的分析与设计-9

5.1.1 分析-9

5.1.2 数据库设计-9

5.2 设计方法-10

5.2.1 格式错误-10

5.2.2 超时-10

5.2.3 超过指定内存-10

5.2.4 答案错误-11

5.3 可视化设计-11

6 具体实现-12

6.1分析部分-12

6.1.1 超时-12

6.1.2 超内存-13

6.1.3 答案错误-14

6.2可视化界面展示-15

结论-17

参 考 文 献-18

致    谢-19

相关论文资料:
最新评论
上传会员 紫色烟火 对本文的描述:故该项目基于现实问题的考虑,提出了基于数据结构平台错误代码模式的识别的设计想法。该项目希望通过分析每次实验或考试同学们提交的错误代码来分析同学的错误模式。得到相关......
发表评论 (我们特别支持正能量传递,您的参与就是我们最好的动力)
注册会员后发表精彩评论奖励积分,积分可以换金币,用于下载需要金币的原创资料。
您的昵称: 验证码: