12. A computer program product comprising program code stored on a non-transitory computer readable medium, which when executed by at least one computing device, causes the at least one computing device to generate an integrated circuit (IC) library for use in a scatterometry analysis by performing actions including: obtaining chip design data about at least one IC chip; obtaining user input data about the at least one IC chip, wherein the user input data includes a film stack file; and running an IC library defining program using the chip design data in its original format and the user input data in its original format, the running of the IC library defining program including: determining a process variation for the at least one IC chip based upon the chip design data and the user input data; converting the process variation into shape variation data; providing the shape variation data in a text format for use by a scatterometry modeling program in the scatterometry analysis; reading the shape variation data in the text format after the providing of the shape variation data in the text format to the scatterometry modeling program; running a parameter setting optimization process on the shape variation data to generate the IC library; attaching an initial library performance header to the IC library, wherein the initial library performance header includes a text file that carries performance metrics dictating when an optimization iteration terminates; installing the IC library on a scatterometry tool; measuring an IC wafer using the scatterometry tool having the installed IC library; and updating the initial library performance header based upon the measurements of the IC wafer to form an updated library performance header.
15. The computer program of claim 12 , wherein the program code causes the at least one computing device to further perform: attaching the updated library performance header to the IC library to form an updated IC library; providing the updated IC library with the updated library performance header to the IC library defining program; and re-running the IC library defining program using the updated library performance header as an input.