UML-based Alias Control

UML-based Alias Control Yin Liu Ana Milanova We propose a mechanism for alias control which is based on the Uni¯ed Modeling Language (UML). Speci¯cally, we pro- pose use of ownership and immutability constraints on UML associations and veri¯cation of these constraints through re- verse engineering. These constraints inherently support soft- ware design principles, and impose requirements on the im- plementation that may help prevent serious program °aws. We propose implementation-level models for ownership and immutability that capture well the meaning of these concepts in modeling, and we develop novel static ownership and immutability inference analyses. We perform an empir- ical investigation on several relatively large Java programs. The results indicate that the inference analyses are precise and practical. Therefore, the analyses can be integrated in reverse engineering tools and can help support e®ective rea- soning about software quality and software security. Department of Computer Science, Rensselaer Polytechnic Institute, Troy, NY cs-06-10

UML-based Alias Control

Yin Liu

Ana Milanova

We propose a mechanism for alias control which is based on the Uni¯ed Modeling Language (UML). Speci¯cally, we pro- pose use of ownership and immutability constraints on UML associations and veri¯cation of these constraints through re- verse engineering. These constraints inherently support soft- ware design principles, and impose requirements on the im- plementation that may help prevent serious program °aws. We propose implementation-level models for ownership and immutability that capture well the meaning of these concepts in modeling, and we develop novel static ownership and immutability inference analyses. We perform an empir- ical investigation on several relatively large Java programs. The results indicate that the inference analyses are precise and practical. Therefore, the analyses can be integrated in reverse engineering tools and can help support e®ective rea- soning about software quality and software security.

Department of Computer Science, Rensselaer Polytechnic Institute, Troy, NY

cs-06-10