Decomposing non-redundant sharing by complementation

2002 Theory and Practice of Logic Programming  
Complementation, the inverse of the reduced product operation, is a relatively new technique for systematically finding minimal decompositions of abstract domains. Filé and Ranzato advanced the state of the art by introducing a simple method for computing a complement. As an application, they considered the extraction by complementation of the pair-sharing domain PS from the Jacobs and Langen's set-sharing domain SH . However, since the result of this operation was still SH , they concluded
more » ... they concluded that PS was too abstract for this. Here, we show that the source of this difficulty lies not with PS but with SH and, more precisely, with the redundant information contained in SH with respect to ground-dependencies and pair-sharing. In fact, the difficulties vanish if our non-redundant version of SH , SH ρ , is substituted for SH . To establish the results for SH ρ , we define a general schema for subdomains of SH that includes SH ρ and Def as special cases. This sheds new light on the structure of SH ρ and exposes a natural though unexpected connection between Def and SH ρ . Moreover, we substantiate the claim that complementation alone is not sufficient to obtain truly minimal decompositions of domains. The right solution to this problem is to first remove redundancies by computing the quotient of the domain with respect to the observable behavior, and only then decompose it by complementation.
doi:10.1017/s1471068401001351 fatcat:cykgxsij45ftnei3znnd4dgjeu