Combined static and dynamic immutability analysis of java program

被引:0
|
作者
Yu L.-Q. [1 ,2 ]
Wang L.-Z. [1 ,2 ]
Lei B. [1 ,2 ]
Zhao J.-H. [1 ,2 ]
Li X.-D. [1 ,2 ]
机构
[1] State Key Laboratory of Novel Software Technology, Nanjing University
[2] Department of Computer Science and Technology, Nanjing University
来源
关键词
Combined static and dynamic analysis; Dynamic analysis; Immutability; Static analysis;
D O I
10.3724/SP.J.1016.2010.00736
中图分类号
学科分类号
摘要
An object is immutable if its state cannot be changed during its life cycle. This characteristic of object is called immutability. The immutability information can be applied to conduct program analysis, testing, verification, and so on. The analysis techniques of object immutability can be classified into two categories: One is static analysis, the other is dynamic analysis. Consider both the advantages and disadvantages of static analysis and dynamic analysis, this paper presents a hybrid analysis technique, which combines the static and dynamic technique to analyze the immutability of Java program: first analyzes a program statically, and then dynamically checks the undecided parts in the result of static analysis. Also dynamic analysis can be used to verify the results of static analysis. This hybrid analysis technique not only increases the precision to static analysis but also reduces the cost to dynamic analysis.
引用
收藏
页码:736 / 746
页数:10
相关论文
共 10 条
  • [1] Porat S., Biberstein M., Koved L., Mendelson B., Automatic detection of immutable fields in Java, Proceedings of the Annual International Conference Hosted by the IBM Centers for Advanced Studies(CASCON'00), (2000)
  • [2] Artzi S., Kiezun A., Glasser D., Ernst M.D., Combined static and dynamic mutability analysis, Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering(ASE'07), pp. 104-113, (2007)
  • [3] Zibin Y., Potanin A., Ali M., Artzi S., Kiezun A., Ernst M.D., Object and reference immutability using Java generics, Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESC/FSE'07), pp. 75-84, (2007)
  • [4] Salcianu A., Rinard M., A combined pointer and purity analysis for Java programs, (2004)
  • [5] Birka A., Ernst M.D., A practical type system and language for reference immutability, Proceedings of the International Conference on Object Oriented Programming, Systems, Languages and Applications(OOPSLA'04), pp. 35-49, (2004)
  • [6] Tschantz M.S., Ernst M.D., Javari: Adding reference immutability to Java, Proceedings of the International Conference on Object Oriented Programming, Systems, Languages and Applications(OOPSLA'05), pp. 211-230, (2005)
  • [7] Pechtchanski I., Sarkar V., Immutability specification and its applications, Proceedings of the Joint ACM Java Grande- ISCOPE Conference, pp. 202-211, (2002)
  • [8] Haack C., Poll E., Et al., Immutable objects for a java-like language, Proceedings of the 16th European Symposium on Programming, pp. 347-362, (2007)
  • [9] Quinonez J., Tschantz M.S., Ernst M.D., Inference of reference immutability, Proceedings of the European Conference on Object Oriented Programming(ECOOP'08), pp. 616-641, (2008)
  • [10] Artzi S., Kiezun A., Quinonez J., Ernst M.D., Parameter reference immutability: Formal definition, inference tool, and comparison, Automatic Software Engineering, 16, 1, pp. 145-192, (2009)