| 摘要 | 第1-4页 |
| ABSTRACT | 第4-5页 |
| Contents | 第5-7页 |
| List of Figures | 第7-9页 |
| List of Tables | 第9-10页 |
| 1 Introduction | 第10-12页 |
| 2 Setting the Scene | 第12-27页 |
| ·Research Background | 第12-20页 |
| ·Crosscutting concerns | 第12-14页 |
| ·Aspect-Oriented Programming | 第14-15页 |
| ·Aspect-Oriented Programming Languages | 第15-17页 |
| ·Fragile Pointcut Problem | 第17-20页 |
| ·Analysis-based Pointcut and Related Works | 第20-27页 |
| ·Analysis-based Pointcut | 第21-22页 |
| ·Related Works | 第22-25页 |
| ·Summary | 第25-27页 |
| 3 Proposed Framework-Nataly | 第27-46页 |
| ·Overview of Proposed Framework | 第27-28页 |
| ·Assumptions | 第28页 |
| ·Relation Analyzer | 第28-32页 |
| ·Pattern Generator | 第32-41页 |
| ·Build Relationship Trees | 第32-34页 |
| ·Extract Intention Pattern | 第34-40页 |
| ·Tregex Pattern Format | 第40-41页 |
| ·Code generator | 第41-44页 |
| ·Generate Analysis-based Pointcut Automatically | 第42-43页 |
| ·Match join point trees by pattern | 第43-44页 |
| ·Stable interfaces/names | 第44-46页 |
| 4 Case Study and Evaluation | 第46-54页 |
| ·Description | 第46页 |
| ·Case study Scenarios and Evaluation | 第46-53页 |
| ·Evaluation | 第53-54页 |
| 5 Conclusion and Future Work | 第54-72页 |
| A AspectJ Syntax Guide | 第56-68页 |
| A.1 General structure of aspects | 第56-57页 |
| A.2 Inter-type declarations | 第57页 |
| A.3 Pointcut descriptors | 第57-66页 |
| A.3.1 Pointcut definition | 第59-60页 |
| A.3.2 Context exposure | 第60-61页 |
| A.3.3 Primitive pointcuts | 第61-65页 |
| A.3.4 Signatures | 第65-66页 |
| A.4 Advice | 第66-68页 |
| B Tregex Pattern Syntax Guide | 第68-72页 |
| Bibliography | 第72-74页 |
| Acknowledgments | 第74页 |