Short Introduction to This Paper
This paper introduces APPEND , an automated approach to preventing and handling null pointer exceptions in Java programs. It analyzes programs to locate possible null pointer dereferences and then inserts null checks and error handling code. The error-handling code is specified at compile-time via composable, context-sensitive recovery policies.
Finding Potential Null Pointers
- Use a conservative flow-sensitive intraprocedural dataflow analysis to statically determine if an expression is non-null. Expressions that are not known to be non-null are flagged for transformation.
Error Handling Transformations
- Combine different policies: calling the default constructors, skipping one line ...