IR Mapping: Intermediate Representation (IR) based Mapping to facilitate Incremental Static Analysis
Vaidehi Ghime, Ankita Khadsare, Anushri Jana, Bharti Chimdyalwar · 2022
An Intermediate Representation (IR) is a data structure to represent a program. It represents each program entity as an object (IR object), having a unique identification number (ID). Static program analysis tools perform analysis on IRs of the input program and compute analysis information at program points - which are represented as IR objects. The analysis information is stored against their corresponding ID. Performing incremental analysis on evolving systems involve the reuse of analysis information for the unchanged IR objects between versions of a program. However, the IDs changes over the version with the change. This acts as an obstacle to the reuse of analysis information. To overcome this, a one-to-one correspondence between IDs of unchanged IR objects is necessary. We term this correspondence as IR mapping.