基于白箱测试的源代码在线评测系统
| 摘要 | 第1-4页 |
| ABSTRACT | 第4-8页 |
| 第一章 课题背景 | 第8-13页 |
| ·程序设计教学中的困难 | 第8-11页 |
| ·代码手工评测模式 | 第8-9页 |
| ·代码手工评测的困难和弊端 | 第9-11页 |
| ·源代码自动评测系统的发展及现状 | 第11-13页 |
| ·PC~2在线评测系统 | 第11-12页 |
| ·新加坡国立大学Online Judge平台 | 第12页 |
| ·国内高校的Online Judge平台 | 第12-13页 |
| 第二章 系统实施环境及开发工具 | 第13-14页 |
| ·系统实施环境 | 第13页 |
| ·开发工具 | 第13-14页 |
| 第三章 相关技术介绍 | 第14-17页 |
| ·白箱测试技术 | 第14页 |
| ·ADO.NET技术简介 | 第14-16页 |
| ·ADO.Net概述 | 第14-15页 |
| ·ADO.Net的优越性 | 第15-16页 |
| ·MVC开发模型 | 第16-17页 |
| 第四章 总体设计 | 第17-23页 |
| ·系统结构 | 第17页 |
| ·数据库设计与访问实现 | 第17-21页 |
| ·数据库设计 | 第17-20页 |
| ·数据库访问的实现 | 第20-21页 |
| ·评测流程 | 第21-23页 |
| 第五章 用户模块 | 第23-28页 |
| ·用户结构及用户登录 | 第23-25页 |
| ·四级用户结构 | 第23-24页 |
| ·用户登录 | 第24页 |
| ·修改个人信息 | 第24-25页 |
| ·管理员 | 第25-26页 |
| ·管理所有用户信息 | 第25页 |
| ·管理所有题集信息 | 第25-26页 |
| ·管理所有项目 | 第26页 |
| ·管理所有成绩 | 第26页 |
| ·教师 | 第26-27页 |
| ·添加、修改和删除题目 | 第26页 |
| ·成绩查阅 | 第26-27页 |
| ·项目申请 | 第27页 |
| ·学生 | 第27页 |
| ·在线评测功能 | 第27页 |
| ·参与在线辅助教学、在线考试和竞赛 | 第27页 |
| ·普通用户 | 第27-28页 |
| 第六章 项目管理模块 | 第28-31页 |
| ·项目类型和结构 | 第28页 |
| ·项目管理的实现 | 第28-31页 |
| ·在线辅助教学项目 | 第28-29页 |
| ·在线考试项目 | 第29-30页 |
| ·在线竞赛项目 | 第30-31页 |
| 第七章 C/C++代码安全检查 | 第31-47页 |
| ·代码安全检查的必要性 | 第31页 |
| ·静态代码分析技术 | 第31页 |
| ·常见安全漏洞分析 | 第31-39页 |
| ·存储越界 | 第32-34页 |
| ·动态内存分配错误 | 第34-36页 |
| ·内存泄漏 | 第36-37页 |
| ·类型不一致 | 第37-38页 |
| ·指针 | 第38页 |
| ·死循环 | 第38-39页 |
| ·对内存泄漏的检测 | 第39-44页 |
| ·控制流图 | 第39-40页 |
| ·基于控制流图的基本检测方法 | 第40-41页 |
| ·基于别名分析的检测方法 | 第41-44页 |
| ·对数组越界的检测 | 第44-47页 |
| ·程序分析 | 第44-45页 |
| ·数组越界查找 | 第45-47页 |
| 第八章 代码剽窃检测 | 第47-53页 |
| ·常见代码剽窃分析 | 第47-48页 |
| ·代码剽窃检测技术分析 | 第48-50页 |
| ·属性计数法 | 第49页 |
| ·结构度量法 | 第49-50页 |
| ·综合方法 | 第50页 |
| ·源代码在线评测系统中剽窃检测技术的实现 | 第50-53页 |
| ·代码的预处理 | 第51页 |
| ·特征向量生成 | 第51页 |
| ·计算代码相似度 | 第51-52页 |
| ·根据相似度给出嫌疑代码 | 第52-53页 |
| 第九章 总结 | 第53-54页 |
| 参考文献 | 第54-56页 |
| 攻读学位期间发表的学术论文目录 | 第56-57页 |
| 致谢 | 第57页 |