K. Apinis, H. Seidl and V. Vojdani. Side-Effecting Constraint Systems: A Swiss Army Knife for Program Analysis. APLAS, pages 157-172, 2012. LNCS 7705, Springer.
Side-effecting constraint systems were originally introduced for the analysis of multi-threaded code. In this paper, we show how this formalism provides a unified framework for realizing efficient interprocedural analyses where the context-sensitive analyses of local properties can be combined with flow-insensitive analyses of global properties, e.g., about the heap. Side-effecting constraint systems thus form the ideal basis for building general-purpose infrastructures for static analysis. One such infrastructure is the analyzer generator Goblint, which we used to practically evaluate this approach on real-world examples.
Download: PDF Reference: Bibtex