Bagnara, R., Zeffanella, E. and Hill, P.M. (2005) Enhanced sharing analysis techniques: a comprehensive evaluation. Theory and Practice of Logic Programming, 5 (1-2). pp. 1-43. ISSN 1471-0684Full text available as:
Available under License : See the attached licence file.
Sharing, an abstract domain developed by D. Jacobs and A. Langen for the analysis of logic programs, derives useful aliasing information. It is well-known that a commonly used core of techniques, such as the integration of Sharing with freeness and linearity information, can significantly improve the precision of the analysis. However, a number of other proposals for refined domain combinations have been circulating for years. One feature that is common to these proposals is that they do not seem to have undergone a thorough experimental evaluation even with respect to the expected precision gains.
In this paper we experimentally evaluate: helping Sharing with the definitely ground variables found using Pos, the domain of positive Boolean formulas; the incorporation of explicit structural information; a full implementation of the reduced product of Sharing and Pos; the issue of reordering the bindings in the computation of the abstract mgu; an original proposal for the addition of a new mode recording the set of variables that are deemed to be ground or free; a refined way of using linearity to improve the analysis; the recovery of hidden information in the combination of Sharing with freeness information. Finally, we discuss the issue of whether tracking compoundness allows the computation of more sharing information.
|Copyright, Publisher and Additional Information:||© 2005 Cambridge University Press.|
|Keywords:||abstract interpretation, logic programming, sharing analysis, experimental evaluation|
|Academic Units:||The University of Leeds > Faculty of Engineering (Leeds) > School of Computing (Leeds)|
|Depositing User:||Repository Assistant|
|Date Deposited:||18 May 2006|
|Last Modified:||08 Feb 2013 17:02|
|Publisher:||Cambridge University Press|
Actions (login required)