Python程序缺陷的自动检测与定位技术
摘要 | 第4-6页 |
Abstract | 第6-8页 |
第一章 绪论 | 第15-21页 |
1.1 研究背景 | 第15-16页 |
1.2 研究问题 | 第16页 |
1.3 主要工作 | 第16-18页 |
1.4 论文结构 | 第18-21页 |
第二章 研究基础与现状 | 第21-35页 |
2.1 Python特性概述 | 第21-25页 |
2.1.1 基本特性 | 第21-23页 |
2.1.2 动态特性 | 第23-25页 |
2.2 类型推导及检查 | 第25-27页 |
2.3 自动化缺陷检测 | 第27-29页 |
2.4 自动化缺陷定位 | 第29-33页 |
2.5 本章总结 | 第33-35页 |
第三章 基于概率分析的类型推导 | 第35-59页 |
3.1 研究动机 | 第36-38页 |
3.2 方法概述 | 第38-40页 |
3.3 概率推导 | 第40-43页 |
3.4 概率约束生成 | 第43-51页 |
3.4.1 数据流约束 | 第43-45页 |
3.4.2 属性约束 | 第45-49页 |
3.4.3 子类型约束 | 第49-50页 |
3.4.4 命名约束 | 第50-51页 |
3.5 实验评估 | 第51-57页 |
3.5.1 实验设置 | 第52-53页 |
3.5.2 评价指标 | 第53-54页 |
3.5.3 实验结果 | 第54-56页 |
3.5.4 有效性威胁 | 第56-57页 |
3.6 本章总结 | 第57-59页 |
第四章 基于符号预测分析的缺陷检测 | 第59-79页 |
4.1 研究动机 | 第59-62页 |
4.2 方法概述 | 第62-63页 |
4.3 执行追踪 | 第63-68页 |
4.3.1 正则化代码 | 第64-65页 |
4.3.2 生成执行轨迹 | 第65-68页 |
4.4 约束编码 | 第68-73页 |
4.4.1 编码框架 | 第69-70页 |
4.4.2 编码规则 | 第70-72页 |
4.4.3 扩展未执行的路径 | 第72-73页 |
4.4.4 约束求解及缺陷检测 | 第73页 |
4.5 实验评估 | 第73-78页 |
4.5.1 实验设置 | 第74页 |
4.5.2 实验结果 | 第74-77页 |
4.5.3 缺陷分析 | 第77-78页 |
4.6 本章总结 | 第78-79页 |
第五章 基于概率推导的智能调试 | 第79-97页 |
5.1 研究动机 | 第80-83页 |
5.2 方法概述 | 第83-87页 |
5.3 变量约束生成 | 第87-89页 |
5.3.1 编码规则 | 第87-88页 |
5.3.2 后向传播概率pu的计算规则 | 第88-89页 |
5.4 语句实例约束生成 | 第89-92页 |
5.4.1 变量到语句约束 | 第90页 |
5.4.2 程序结构约束 | 第90-91页 |
5.4.3 命名惯例约束 | 第91-92页 |
5.5 实验评估 | 第92-96页 |
5.5.1 实验设置 | 第92-93页 |
5.5.2 实验结果 | 第93-96页 |
5.5.3 有效性威胁 | 第96页 |
5.6 本章总结 | 第96-97页 |
第六章 总结与展望 | 第97-101页 |
6.1 工作总结 | 第97-98页 |
6.2 未来工作展望 | 第98-101页 |
参考文献 | 第101-115页 |
致谢 | 第115-117页 |
攻读博士学位期间发表的论文 | 第117-119页 |