DOI:10.3724/SP.J.1016.2010.00736Combined Static and Dynamic Immutability Analysis of Java Program

于利前,王林章,雷斌,赵建华,李宣东
DOI: https://doi.org/10.3724/SP.J.1016.2010.00736
2010-01-01
Chinese Journal of Computers
Abstract: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.
What problem does this paper attempt to address?