Fundamenta Informaticae 158 (2018) 297–326 297 DOI 10.3233/FI-2018-1650 IOS Press Reference Abstract Domains and Applications to String Analysis Roberto Amadini Graeme Gange School of Computing and Information Systems School of Computing and Information Systems The University of Melbourne, Australia The University of Melbourne, Australia
[email protected] [email protected] Franc¸ois Gauthier Alexander Jordan Oracle Labs Oracle Labs Brisbane, Australia Brisbane, Australia
[email protected] [email protected] Peter Schachte Harald Søndergaard∗ School of Computing and Information Systems School of Computing and Information Systems The University of Melbourne, Australia The University of Melbourne, Australia
[email protected] [email protected] Peter J. Stuckey Chenyi Zhangy School of Computing and Information Systems College of Information Science and Technology The University of Melbourne, Australia Jinan University, Guangzhou, China
[email protected] chenyi
[email protected] Abstract. Abstract interpretation is a well established theory that supports reasoning about the run-time behaviour of programs. It achieves tractable reasoning by considering abstractions of run-time states, rather than the states themselves. The chosen set of abstractions is referred to as the abstract domain. We develop a novel framework for combining (a possibly large number of) abstract domains. It achieves the effect of the so-called reduced product without requiring a quadratic number of functions to translate information among abstract domains. A central no- tion is a reference domain, a medium for information exchange. Our approach suggests a novel and simpler way to manage the integration of large numbers of abstract domains.