摘要 | 第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页 |