Creating a standard for software security also means that testing take place in order to assess compliance, which is not an exact science. Mobile software assurance is a complex discipline. The app environment differs substantially across mobile OSes, which themselves are experiencing rapid changes. Automated code scanning or simulation tools are available, but they provide only a partial assessment. Reviewers will almost always need to interpret the output of these tools, compare results against the intended capabilities of the app, and perform manual follow-up investigations to verify compliance with the specific standard's requirements. Consequently, a high degree of skill is required in performing reviews of apps, entailing a strong understanding of: