The nullness analyser of JULIA

  • Authors:
  • Fausto Spoto

  • Affiliations:
  • Dipartimento di Informatica, Università di Verona, Italy

  • Venue:
  • LPAR'10 Proceedings of the 16th international conference on Logic for programming, artificial intelligence, and reasoning
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

This experimental paper describes the implementation and evaluation of a static nullness analyser for single-threaded Java and Java bytecode programs, built inside the julia tool. Nullness analysis determines, at compile-time, those program points where the null value might be dereferenced, leading to a run-time exception. In order to improve the quality of software, it is important to prove that such situation does not occur. Our analyser is based on a denotational abstract interpretation of Java bytecode through Boolean logical formulas, strengthened with a set of denotational and constraint-based supporting analyses for locally non-null fields and full arrays and collections. The complete integration of all such analyses results in a correct system of very high precision whose time of analysis remains in the order of minutes, as we show with some examples of analysis of large software.