OpenZeppelin provides mathematical calculation-related library files. Using these libraries in your contract greatly improves security and safety against integer overflow and underflow attacks. Integer overflow is when a number is very close to its upper bound and further addition on the number would circle it back to its lower bound value; the opposite is the case with integer underflow. We will discuss integer overflow and underflow in detail in Chapter 14, Tips, Tricks, and Security Best Practices, in the Integer overflow and underflow attack section.
These libraries have been used in many publicly deployed contracts on the Ethereum blockchain. These are battle-tested libraries and must be used for any mathematical calculations that are present in the contract.
The contract library files are in the Chapter09/openzeppelin-solidity/contracts...