Sciweavers

ICSE
2011
IEEE-ACM

Inference of field initialization

12 years 7 months ago
Inference of field initialization
A raw object is partially initialized, with only some fields set to legal values. It may violate its object invariants, such as that a given field is non-null. Programs often manipulate partially-initialized objects, but they must do so with care. Furthermore, analyses must be aware of field initialization. For instance, proving the absence of null pointer dereferences or of division by zero, or proving that object invariants are satisfied, requires information about initialization. We present a static analysis that infers a safe over-approximation of the program variables, fields, and array elements that, at run time, might hold raw objects. Our formalization is flow-sensitive and interprocedural, and it considers the exception flow in the analyzed program. We have proved the analysis sound and implemented it in a tool called Julia that computes initialization and nullness information. We have evaluated Julia on over 160K lines of code. We have compared its output to manually-...
Fausto Spoto, Michael D. Ernst
Added 29 Aug 2011
Updated 29 Aug 2011
Type Journal
Year 2011
Where ICSE
Authors Fausto Spoto, Michael D. Ernst
Comments (0)