| 摘要 | 第4-6页 |
| Abstract | 第6-7页 |
| Acknowledgement | 第8-9页 |
| Dedication | 第9-15页 |
| Chapter 1 Introduction | 第15-22页 |
| 1.1 Motivations | 第17-18页 |
| 1.2 Problems | 第18页 |
| 1.3 Contributions | 第18-20页 |
| 1.4 Thesis outline | 第20-22页 |
| Chapter 2 Background Knowledge and Related Work | 第22-47页 |
| 2.1 Frequent itemset mining | 第23-24页 |
| 2.2 Frequent sequence mining | 第24页 |
| 2.3 Related work | 第24-25页 |
| 2.4 Overview of code mining techniques | 第25-40页 |
| 2.4.1 Mining rules to detect software bugs | 第25-29页 |
| 2.4.2 Mining code clones patterns | 第29-32页 |
| 2.4.3 Mining API usage patterns | 第32-35页 |
| 2.4.4 Mining co-changes and bug fix changes patterns | 第35-38页 |
| 2.4.5 Mining source code for other purpose | 第38-40页 |
| 2.5 Evaluation of source code mining tools and techniques | 第40-43页 |
| 2.6 Comparison of source code mining tools | 第43-46页 |
| 2.7 Summary | 第46-47页 |
| Chapter 3 Source Code Mining Methodology | 第47-62页 |
| 3.1 Generic source code mining methodology | 第47-49页 |
| 3.2 Proposed source code mining framework | 第49-53页 |
| 3.3 Design of source code mining framework | 第53页 |
| 3.4 Data generator | 第53-61页 |
| 3.4.1 Parsing source code | 第54-57页 |
| 3.4.2 Preparing data | 第57页 |
| 3.4.3 Generating transactions database | 第57-59页 |
| 3.4.4 Generating sequential database | 第59-61页 |
| 3.5 Summary | 第61-62页 |
| Chapter 4 Code Miner | 第62-74页 |
| 4.1 Rule miner | 第62-66页 |
| 4.1.1 Extracting programming patterns | 第62-63页 |
| 4.1.2 Generating programming rules | 第63-66页 |
| 4.2 Sequence miner | 第66-69页 |
| 4.2.1 Extracting code clones | 第66-67页 |
| 4.2.2 Extracting API usage patterns | 第67-69页 |
| 4.3 Constrained miner | 第69-73页 |
| 4.3.1 Constrained miner architecture | 第71-72页 |
| 4.3.2 Constrained mining algorithm | 第72-73页 |
| 4.4 Summary | 第73-74页 |
| Chapter 5 Violation Detector | 第74-83页 |
| 5.1 Rules violation detection | 第74-77页 |
| 5.1.1 Rule violation detection algorithm | 第74-75页 |
| 5.1.2 Rule violation example | 第75-77页 |
| 5.2 Detecting copy-paste code related bugs | 第77-82页 |
| 5.2.1 Copy-paste bugs detection algorithm | 第78-79页 |
| 5.2.2 Copy-paste bug example | 第79-82页 |
| 5.3 Summary | 第82-83页 |
| Chapter 6 Experimental Evaluation | 第83-97页 |
| 6.1 Experimental setup | 第83-85页 |
| 6.2 Results | 第85-96页 |
| 6.2.1 Extracting programming rules | 第85-88页 |
| 6.2.2 Extracting copy-paste code | 第88-91页 |
| 6.2.3 Extracting API usage patterns | 第91-92页 |
| 6.2.4 Detecting rules violations | 第92-96页 |
| 6.3 Summary | 第96-97页 |
| Chapter 7 Conclusion, Challenges and Future Work | 第97-102页 |
| 7.1 Conclusion | 第97-98页 |
| 7.2 Challenges of source code mining | 第98-100页 |
| 7.3 Future work | 第100-102页 |
| References | 第102-112页 |
| Research Publications | 第112页 |