Global variables in big projects such as PIPS should be avoided as much as possible since they are often the source of big trouble when many different modules are interacting and when the global state has not been proved to be safe. Two encapsulations are used in PIPS to provide global state keeping and enabling global options.