Language Strength Reduction

  • Authors:
  • Nicholas Kidd;Akash Lal;Thomas Reps

  • Affiliations:
  • University of Wisconsin, Madison, USA;University of Wisconsin, Madison, USA;University of Wisconsin, Madison, USA and GrammaTech, Inc., Ithaca, NY, USA

  • Venue:
  • SAS '08 Proceedings of the 15th international symposium on Static Analysis
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper concerns methods to check for atomic-set serializability violations in concurrent Java programs. The straightforward way to encode a reentrant lock is to model it with a context-free language to track the number of successive lock acquisitions. We present a construction that replaces the context-free language that describes a reentrant lock by a regular language that describes a non-reentrant lock. We call this replacement language strength reduction. Language strength reduction produces an average speedup (geometric mean) of 3.4. Moreover, for 2 programs that previously exhausted available space, the tool is now able to run to completion.