Return to search

Static analysis for incomplete object-oriented programs

Static analysis is significant since it provides the information about the run- time behaviour of an analysed program. Such information has many applications in compiler optimisations and software engineering tools. Interprocedural anal- ysis is a form of static analysis, which can exploit information available across procedure boundaries. The analysis is traditionally designed as whole-program analysis, which processes the entire program. However, whole-program analysis is problematic when parts of the analysed program are not available to partici- pate in analysis. In this case, a whole-program analysis has to make conservative assumptions to be able to produce safe analysis results at the expense of some possible precision loss. To improve analysis precision, an analysis can exploit the access control mechanism provided by the underlying program language. This thesis introduces a points-to analysis technique for incomplete object-oriented programs, called com- pleteness analysis, which exploits the access and modification properties of classes, methods and fields to enhance the analysis precision. Two variations of the tech- nique, compositional and sequential completeness analysis, are described. This thesis also presents a mutability analysis (MA) and MA-based side-effect analy- sis, which are based on the output of completeness analysis, to determine whether a variable is potentially modified by the execution of a program statement. The results of experiments carried out on a set of Java library packages are presented to demonstrate the improvement in analysis precision.

Identiferoai:union.ndltd.org:ADTP/234158
Date January 2005
CreatorsNguyen, Phung Hua, Computer Science & Engineering, Faculty of Engineering, UNSW
PublisherAwarded by:University of New South Wales. School of Computer Science and Engineering
Source SetsAustraliasian Digital Theses Program
LanguageEnglish
Detected LanguageEnglish
RightsCopyright Phung Hua Nguyen, http://unsworks.unsw.edu.au/copyright

Page generated in 0.0093 seconds