| 摘要 | 第1-7页 |
| ABSTRACT | 第7-11页 |
| 第一章 引言 | 第11-17页 |
| ·研究动因 | 第11-12页 |
| ·研究现状 | 第12-14页 |
| ·本文工作 | 第14-15页 |
| ·论文结构 | 第15-17页 |
| 第二章 动态特性以及程序维护背景介绍 | 第17-25页 |
| ·程序语言动态特性介绍 | 第17-18页 |
| ·Python动态特性 | 第18-21页 |
| ·Introspection | 第18-20页 |
| ·Object Change | 第20-21页 |
| ·Code Generation | 第21页 |
| ·Library Load | 第21页 |
| ·动态特性在开源项目中使用情况分析 | 第21-22页 |
| ·软件演化和维护 | 第22-24页 |
| ·模块易变性 | 第23页 |
| ·模块易错性 | 第23-24页 |
| ·本章小结 | 第24-25页 |
| 第三章 Python动态特性对模块易变性的影响 | 第25-39页 |
| ·问题提出 | 第25-26页 |
| ·RQ1.动态特性的使用与程序模块的易变性是否相关? | 第25页 |
| ·RQ2.程序模块中使用动态特性数目的多少与模块易变性是否相关? | 第25-26页 |
| ·RQ3.动态特性的类型与程序模块的易变性是否相关? | 第26页 |
| ·实验设计 | 第26-32页 |
| ·实验项目介绍 | 第26-27页 |
| ·动态特性收集 | 第27-28页 |
| ·文件变更信息收集 | 第28-29页 |
| ·研究问题分析方法 | 第29-32页 |
| ·实验结果 | 第32-36页 |
| ·动态特性的使用与模块易变性关系 | 第33-34页 |
| ·动态特性的使用数目与模块易变性关系 | 第34-35页 |
| ·动态特性的类型与模块易变性关系 | 第35-36页 |
| ·实验数据分析 | 第36-38页 |
| ·实验结果讨论 | 第36-37页 |
| ·效度威胁 | 第37-38页 |
| ·本章小结 | 第38-39页 |
| 第四章 Python动态特性对模块易错性的影响 | 第39-51页 |
| ·问题提出 | 第39-40页 |
| ·RQ1.动态特性的使用与程序模块的易错性是否相关? | 第39页 |
| ·RQ2.程序模块中使用动态特性数目的多少与模块易错性是否相关? | 第39-40页 |
| ·RQ3.动态特性的类型与程序模块的易错性是否相关? | 第40页 |
| ·实验设计 | 第40-46页 |
| ·实验项目介绍 | 第40页 |
| ·缺陷信息收集 | 第40-44页 |
| ·研究问题分析方法 | 第44-46页 |
| ·实验结果 | 第46-49页 |
| ·动态特性的使用与模块易错性关系 | 第46-47页 |
| ·动态特性的使用数目与模块易错性关系 | 第47-48页 |
| ·动态特性的类型与模块易错性关系 | 第48-49页 |
| ·实验数据分析 | 第49-50页 |
| ·实验结果讨论 | 第49页 |
| ·效度威胁 | 第49-50页 |
| ·本章小结 | 第50-51页 |
| 第五章 Python动态特性实例分析 | 第51-59页 |
| ·演化代码中的动态特性使用分析 | 第51-57页 |
| ·数据收集过程 | 第51-52页 |
| ·实验结果分析和讨论 | 第52-53页 |
| ·审查结果分析 | 第53-57页 |
| ·结果讨论和建议 | 第57页 |
| ·本章小结 | 第57-59页 |
| 第六章 总结和展望 | 第59-63页 |
| ·工作总结 | 第59-60页 |
| ·未来工作 | 第60-63页 |
| 参考文献 | 第63-67页 |
| 致谢 | 第67-69页 |
| 简历与科研成果 | 第69-71页 |
| 附录A 实验选取的项目列表 | 第71-73页 |
| 附录B 攻读硕士学位期间发表论文情况 | 第73-75页 |