A4 Refereed article in a conference publication
Exploiting Regularity of User-Defined Types to Improve Precision of Program Analyses
Authors: Xiaolong Tang, Jaakko Järvi
Conference name: ACM Symposium on Applied Computing
Publisher: Association for Computing Machinery
Publishing place: New York, NY
Publication year: 2012
Book title : Proceedings of the 27th Annual ACM Symposium on Applied Computing
Series title: SAC '12
ISBN: 9781450308571
DOI: https://doi.org/10.1145/2245276.2232059
Web address : https://doi.org/10.1145/2245276.2232059
Abstract
Traditional compilers do not effectively optimize code involving operations on values of user-defined types. We show that user-defined types that are both "regular" and "composite" (roughly corresponding to what is casually known as "value semantics") can be analyzed efficiently and effectively. The notion of regularity comes from generic programming and C++. Is routinely used by programmers for reasoning about generic code. Stepanov suggests that compilers too should take advantage of regularity for optimizations. This paper exploits the properties of regular composite objects to produce concise procedure summaries for summary-based analyses, thus taking a step towards Stepanov's goal. We use the LLVM framework to implement the analysis.
Traditional compilers do not effectively optimize code involving operations on values of user-defined types. We show that user-defined types that are both "regular" and "composite" (roughly corresponding to what is casually known as "value semantics") can be analyzed efficiently and effectively. The notion of regularity comes from generic programming and C++. Is routinely used by programmers for reasoning about generic code. Stepanov suggests that compilers too should take advantage of regularity for optimizations. This paper exploits the properties of regular composite objects to produce concise procedure summaries for summary-based analyses, thus taking a step towards Stepanov's goal. We use the LLVM framework to implement the analysis.