This document discusses developing a taxonomy to map relationships between applications, virtual machines, hosts, and clients when performing upgrades and patches. It proposes creating a taxonomy based on analyzing errors that occur during application execution to understand dependencies. The taxonomy would classify applications based on their libraries, operating systems, and browsers to provide a troubleshooting guideline for upgrades. An experiment upgrading an application called Crawling encountered errors due to dependencies on older software versions. Mapping the application criteria and relationships in a taxonomy could help identify the root cause of issues and the steps to resolve them.