Quantifying this uncertainty requires a sufficiently large set of QR codes embedded with designated pattern and an automatic mechanism to test and return whether the module replaced by that pattern is correctly decoded. We created a database of synthetic QR codes using an automatic procedure to generate them with different data and patterns, and apply spatial perturbation to simulate scanning the QR codes in reality. Then, we use a barcode reader to decode each synthetic QR code and statistically model the pattern reliability