Institutional Repository
| A constraint-weaving approach to points-to analysis for AspectJ | |
| Sun, Qiang (1); Chen, Yuting (1); Zhao, Jianjun (1); Chen, Y.(chenyt@cs.sjtu.edu.cn) | |
| 2014 | |
| 发表期刊 | Frontiers of Computer Science
![]() |
| ISSN | 20952228 |
| 卷号 | 8期号:1页码:52-68 |
| 摘要 | Points-to analysis is a static code analysis technique that establishes the relationships between variables of references and allocated objects. A number of points-to analysis algorithms have been proposed for procedural and object-oriented languages like C and Java, while few of them can be used for AspectJ as we know so far. One main reason is that AspectJ is an aspect-oriented language which implements the separation of crosscutting concerns by advices, pointcuts, and inter-type declarations, while a points-to analysis of AspectJ programs may be imprecise because any aspect woven into the base code may change the points-to relations in the program and thus a conservative analysis has to be taken in order to handle the aspects. In this paper, we propose a context-sensitive points-to analysis technique called AJPoints for AspectJ. Similar to the weaving mechanism for AspectJ, AJPoints obtains the constraints and templates on the points-to relations for the base code and the aspects, respectively, but weaves and solves them in an iterative manner in order to cross the boundary between the base code and the aspects. We have implemented AJPoints on abc AspectJ compiler and evaluated it by using twelve AspectJ benchmark programs. The experimental results show that our technique can achieve a high precision about points-to relations in AspectJ programs. © 2014 Higher Education Press and Springer-Verlag Berlin Heidelberg.; Points-to analysis is a static code analysis technique that establishes the relationships between variables of references and allocated objects. A number of points-to analysis algorithms have been proposed for procedural and object-oriented languages like C and Java, while few of them can be used for AspectJ as we know so far. One main reason is that AspectJ is an aspect-oriented language which implements the separation of crosscutting concerns by advices, pointcuts, and inter-type declarations, while a points-to analysis of AspectJ programs may be imprecise because any aspect woven into the base code may change the points-to relations in the program and thus a conservative analysis has to be taken in order to handle the aspects. In this paper, we propose a context-sensitive points-to analysis technique called AJPoints for AspectJ. Similar to the weaving mechanism for AspectJ, AJPoints obtains the constraints and templates on the points-to relations for the base code and the aspects, respectively, but weaves and solves them in an iterative manner in order to cross the boundary between the base code and the aspects. We have implemented AJPoints on abc AspectJ compiler and evaluated it by using twelve AspectJ benchmark programs. The experimental results show that our technique can achieve a high precision about points-to relations in AspectJ programs. © 2014 Higher Education Press and Springer-Verlag Berlin Heidelberg. |
| 收录类别 | SCI ; EI |
| 关键词 | Points-to Analysis Context-sensitive Analysis Aspectj |
| 部门归属 | (1) Department of Computer Science and Engineering and School of Software, Shanghai Jiao Tong University, Shanghai, 200240, China; (2) State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing, 100190, China |
| 语种 | 英语 |
| WOS记录号 | WOS:000329625400004 |
| 引用统计 | |
| 内容类型 | 期刊论文 |
| URI标识 | http://ir.iscas.ac.cn/handle/311060/16872 |
| 专题 | 中国科学院软件研究所 |
| 通讯作者 | Chen, Y.(chenyt@cs.sjtu.edu.cn) |
| 推荐引用方式 GB/T 7714 | Sun, Qiang ,Chen, Yuting ,Zhao, Jianjun ,et al. A constraint-weaving approach to points-to analysis for AspectJ[J]. Frontiers of Computer Science,2014,8(1):52-68. |
| APA | Sun, Qiang ,Chen, Yuting ,Zhao, Jianjun ,&Chen, Y..(2014).A constraint-weaving approach to points-to analysis for AspectJ.Frontiers of Computer Science,8(1),52-68. |
| MLA | Sun, Qiang ,et al."A constraint-weaving approach to points-to analysis for AspectJ".Frontiers of Computer Science 8.1(2014):52-68. |
| 条目包含的文件 | 条目无相关文件。 | |||||
除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。
修改评论