ACM Transactions on Programming Languages and Systems · 2014 · 32 citations · 25 references
ComputingComputer ScienceAlgebraAlgorithmsTheory Of ComputationAbstract InterpretationCompiler ConstructionAbstract DomainsAbstract TransformersAbstraction MechanismsAffine Relations
This article considers some known abstract domains for affine-relation analysis (ARA), along with several variants, and studies how they relate to each other. The various domains represent sets of points that satisfy affine relations over variables that hold machine integers and are based on an extension of linear algebra to modules over a ring (in particular, arithmetic performed modulo 2 w , for some machine-integer width w ). We show that the abstract domains of Müller-Olm/Seidl (MOS) and King/Søndergaard (KS) are, in general, incomparable. However, we give sound interconversion methods. In other words, we give an algorithm to convert a KS element v KS to an overapproximating MOS element v MOS —that is, γ ( v KS ) ⊆ γ ( v MOS —as well as an algorithm to convert an MOS element w MOS to an overapproximating KS element w KS —that is, γ ( w MOS ) ⊆ γ ( w KS ). The article provides insight on the range of options that one has for performing ARA in a program analyzer: —We describe how to perform a greedy, operator-by-operator abstraction method to obtain KS abstract transformers. —We also describe a more global approach to obtaining KS abstract transformers that considers the semantics of an entire instruction, basic block, or other loop-free program fragment. The latter method can yield best abstract transformers, and hence can be more precise than the former method. However, the latter method is more expensive. We also explain how to use the KS domain for interprocedural program analysis using a bit-precise concrete semantics, but without bit blasting.
25
Matrix analysis and applied linear algebra
Choice Reviews Online · 2001 · 3.4K citations
Systematic design of program analysis frameworks
Patrick Cousot, Radhia Cousot · 1979 · 1.6K citations · Full text
Automatic discovery of linear restraints among variables of a program
Patrick Cousot, Nicolas Halbwachs · 1978 · 1.6K citations
Roberto Bagnara, Patricia M. Hill, Enea Zaffanella · Science of Computer Programming · 2008 · 466 citations
Affine relationships among variables of a program
Michael Karr · Acta Informatica · 1976 · 433 citations