Combined Static and Dynamic Mutability Analysis

Knowing which method parameters may be mutated during a method's execution is useful for many software engineering tasks. We present an approach to discovering parameter immutability, in which several lightweight, scalable analyses are combined in stages, with each stage rening the overall resu...

Full description

Bibliographic Details
Main Authors: Artzi, Shay, Kiezun, Adam, Glasser, David, Ernst, Michael D.
Other Authors: Michael Ernst
Published: 2007
Online Access:http://hdl.handle.net/1721.1/36880
Description
Summary:Knowing which method parameters may be mutated during a method's execution is useful for many software engineering tasks. We present an approach to discovering parameter immutability, in which several lightweight, scalable analyses are combined in stages, with each stage rening the overall result. The resulting analysis is scalable and combines the strengths of its component analyses. As one of the component analyses, we present a novel, dynamic mutability analysis and show how its results can be improved by random input generation. Experimental results on programs of up to 185 kLOC show that, compared to previous approaches, our approach increases both scalability and overall accuracy.